zoukankan      html  css  js  c++  java
  • Java——SpringSecurity

    git将本地项目远程到远程仓库后发现文件夹打不开,往往是因为文件夹里内含仓库;处理办法:

    将文件夹内的.git隐藏文件删掉,后运行git rm -r --cache 文件夹名;之后再进行add、commit操作,最后再git push origin master;

    SpringSecurity的认证最后是在UserDetailsService这个接口中实现的,里面包含了这样一个方法:

    UserDetails loadUserByUsername(String username) throws UsernameNotFoundException;
    }

     而SpringSecurity自身缓存的用户对象是在UserDetails中,如果我们要连接自己的数据库,需要继承这个UserDetailsService这个接口;

    这个方法的参数传入用户名,我们可以根据用户名

    查询到数据库的用户对象,然后加载到UserDetails中:

    对于csrf的理解,为了防止内存用户被别的同网页网站盗取;原理是在我们提出post、delete、等操作性请求时,会同时携带一个由springsecurity内部生成的token进行认证;因此我们在表单或者别的jsp页面中需要加入:,用来传送token认证;

    remember me功能:

    原理是将其内容存在cookie中;

    页面部分:

     过滤器部分(开启):

     为了安全性,最好将remember me内容持久化到数据库中比较好:

    权限分配:

    而这个分配只是在浏览器页面上分配,看不到不意味着不能访问,如果要达到真正的权限分配:

    首先:

     然后在controller层或业务实现impl层进行注解限定:如:

     需要值得注意的是如果用的是SSM框架,那么上面的开放注解配置要写在对应的容器中,我们的ssm框架里的容器可看为ServictContext包裹着springioc容器再包裹着spring的前端控制器,而controller层处于的就是前端控制器这个容器,但是我们的spring-security.xml文件是被springIoc所加载,也就是加载注解配置的容器和开启配置的容器不是同一个,会导致注解不生效,所以如果要注释在controller层的话应该将注解开启配置配置在spring-mvc.xml文件中,如果在service层或dao层开启注解即放在spring-security.xml文件中即可,因为这层所处于的容器也是springIoc容器

  • 相关阅读:
    NX二次开发-UFUN设置显示状态抑制显示UF_DISP_set_display
    NX二次开发-使用NXOPEN C++向导模板做二次开发
    ANTV/G6 怎么按条件自定义节点颜色(Graphin)
    js数组去重及数组对象去重
    vue组件老胡机抽奖(转载)
    Kafka第二节
    Kafka第一节
    更改idea的database数据库连接的ddl格式
    不推荐别的了,IDEA 自带的数据库工具就很牛逼!
    MongoDB 按照时间段查询某个物理机的CPU使用率,按照时间倒序排序,取出最新的5条数据
  • 原文地址:https://www.cnblogs.com/lzj-learn/p/13331529.html
Copyright © 2011-2022 走看看