数据库禁用写权限和恢复写权限认证命令
时间: 2024-05-01 17:17:10 浏览: 19
数据库禁用写权限的命令:
```
REVOKE WRITE ON database_name FROM user_name;
```
其中,database_name是要禁用写权限的数据库名称,user_name是被禁用写权限的用户名称。
数据库恢复写权限的命令:
```
GRANT WRITE ON database_name TO user_name;
```
其中,database_name是要恢复写权限的数据库名称,user_name是被恢复写权限的用户名称。
相关问题
如何查询Sql server数据库连接的权限
要查询 SQL Server 数据库连接的权限,可以使用以下步骤:
1. 连接到 SQL Server 数据库引擎,并在查询窗口中运行以下 Transact-SQL 命令:
```
SELECT
p.name AS '登录名',
sp.name AS '登录类型',
dp.name AS '数据库用户',
dp.type_desc AS '用户类型',
dp.default_schema_name AS '默认模式',
dp.create_date AS '创建时间',
dp.modify_date AS '修改时间',
dp.is_disabled AS '是否禁用'
FROM
sys.database_principals AS dp
JOIN sys.server_principals AS sp ON dp.sid = sp.sid
JOIN sys.server_role_members AS srm ON sp.principal_id = srm.member_principal_id
JOIN sys.server_principals AS p ON srm.role_principal_id = p.principal_id
WHERE
p.type_desc IN ('SQL_LOGIN', 'WINDOWS_LOGIN')
ORDER BY
p.name;
```
2. 运行查询后,将显示登录名、登录类型、数据库用户、用户类型、默认模式、创建时间、修改时间和是否禁用等信息。
3. 如果想查看特定用户的权限,可以使用以下命令:
```
EXEC sp_helprotect NULL, 'dbo', NULL, 'grant'
```
其中,第一个参数为对象名称,第二个参数为架构名称,第三个参数为用户名,第四个参数为权限类型。该命令将显示指定用户拥有的所有权限。
在数据库中用户名和密码 我该怎么写呢
如果您希望将用户名和密码存储在数据库中,可以使用 Spring Security 提供的 JdbcUserDetailsManager 类来管理用户。以下是一个简单的示例:
1. 首先,在 pom.xml 文件中添加 Spring Security 和 JDBC 相关的依赖项:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
```
2. 然后,您需要在 application.properties 文件中配置数据库连接信息:
```properties
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
```
3. 接下来,创建一个继承自 WebSecurityConfigurerAdapter 的配置类,并注入 DataSource 对象:
```java
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private DataSource dataSource;
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.jdbcAuthentication()
.dataSource(dataSource)
.usersByUsernameQuery("select username, password, enabled from users where username = ?")
.authoritiesByUsernameQuery("select username, authority from authorities where username = ?");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/api/**").authenticated()
.anyRequest().permitAll()
.and().httpBasic().realmName("MyRealm")
.and().csrf().disable();
}
}
```
4. 在上面的代码中,我们使用了注入的 DataSource 对象来配置 JdbcUserDetailsManager。具体来说,我们使用了 usersByUsernameQuery 和 authoritiesByUsernameQuery 方法来查询用户和权限信息,并使用了基本身份验证。我们还禁用了 CSRF 保护(因为我们的示例比较简单)。
5. 最后,您可以在您的数据库中创建一个 users 表和一个 authorities 表,并在其中存储用户信息和权限信息:
```sql
CREATE TABLE users (
username VARCHAR(50) NOT NULL PRIMARY KEY,
password VARCHAR(100) NOT NULL,
enabled BOOLEAN NOT NULL
);
CREATE TABLE authorities (
username VARCHAR(50) NOT NULL,
authority VARCHAR(50) NOT NULL,
CONSTRAINT fk_authorities_users FOREIGN KEY (username) REFERENCES users(username)
);
```
在上面的代码中,我们创建了一个名为 users 的表,其中包含用户名、密码和启用状态。我们还创建了一个名为 authorities 的表,其中包含用户名和权限信息。
希望这些信息能够帮助您!
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)