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容器

  • 相关阅读:
    面试题48:不能被继承的类
    Scrapy使用问题整理(转载)
    Shell 基础笔记
    python oop面向对象笔记
    python3 logging 日志记录模块
    Github设置
    Django Ajax提交数据请求
    Python常见面试题
    python2 安装scrapy出现错误提示解决办法~
    Windows下安装python2和python3双版本
  • 原文地址:https://www.cnblogs.com/lzj-learn/p/13331529.html
Copyright © 2011-2022 走看看