安全约束 security Constraint

项目中实现访问权限控制的两种方式:

一. 通过在web.xml文件中配置

<security-constraint>
   <web-resource-collection>
      <web-resource-name>Private</web-resource-name>
  <!-- 需要约束的请求路径-->
      <url-pattern>/private/*</url-pattern>
  <!-- 需要约束的请求方式-->
      <http-method>GET</http-method>
   </web-resource-collection>
<!--用于指定可以访问该资源集合的用户角色-->
   <auth-constraint>
      <role-name>admin</role-name>
   </auth-constraint>
<!--用来显示怎样保护在客户端和Web容器之间传递的数据-->
    <user-data-constraint>  
<!--
        ● NONE,这意味着应用不需要传输保证。
        ● INTEGRAL,意味着服务器和客户端之间的数据必须以某种方式发送,而且在传送中不能改变。
        ● CONFIDENTIAL,这意味着传输的数据必须是加密的数据。
-->
        <transport-guarantee>NONE/INTEGRAL/CONFIDENTIAL</transport-guarantee>  
    </user-data-constraint>  
</security-constraint>

安全认证标签说明

二.JAVA代码实现

以spring boot为例,因为spring boot中内嵌tomcat

@Configuration
public class SecurityConfig {
    @Bean
    public TomcatServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcatServletContainerFactory = new TomcatServletWebServerFactory();
        tomcatServletContainerFactory.addContextCustomizers(new TomcatContextCustomizer() {

            @Override
            public void customize(Context context) {
                SecurityConstraint securityConstraint = new SecurityConstraint();
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/admin/*");
                securityConstraint.addCollection(collection);
                securityConstraint.addAuthRole("admin");
                context.addConstraint(securityConstraint);
            }
        });
        return tomcatServletContainerFactory;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值