Spring Security 框架入门 小Demo

1、Spring Security 框架入门 小Demo

 2、pom.xml 依赖
3、web.xml springSecurity配置 Filter
4、spring-Security.xml
//login.html 设置页面不需要登陆也可以访问 相当于白名单

//页面拦截部分





//use-expressions="false"  不配为false
//
//开启表单登陆功能 login-page="登陆页面" default-target-url="登陆成功后的页面"   always-use-default-target="true" 总是跳转到登陆后的默认页面

//关闭默认的token认证,未关闭前前防止CSRF攻击,不关闭页面必须是jsp页面,可以在自动生成的页面拷贝

//框架也允许使用iframe,不被拦截




//登出


//认证管理器

//认证的提供方
   
     
      //authorities 属于那个角色
     
     

   

5、启动项目会自动生成登录页面
6、自已创建一个登录页面
 

 
   
     

 

  7、显示登录名
  @Controller
  loginController{
  @RequestMapping("/name")
    public Map name(){
     String username=  SecuriryContextHodel.getContext().getAuthentication().getName();
      
    }
  }
___________________________________________________________________
8、密码在数据库中

/**
认证类
*/
public class  UserDEtailsServiceImpl implements UserDetailsService{
//必须实现的方法
 public UserDetails loadUserByUsername(String username) throws UserNameNotFoundException(){
 
 
   //new User(用户名,"密码",拥有的角色)
   //构建一个角色列表
   List grantAuths=new ArrayList();
   grantAuths.add(new SimpleGrantedAuthority("ROLE_SELLER"));
     return  new User(username,"123456",grantAuths);
  //return null; 密码错误返回null
 }

}

9、springSecurity.xml

//login.html 设置页面不需要登陆也可以访问 相当于白名单


//页面拦截部分





//use-expressions="false"  不配为false
//
//开启表单登陆功能 login-page="登陆页面" default-target-url="登陆成功后的页面"   always-use-default-target="true" 总是跳转到登陆后的默认页面

//关闭默认的token认证,未关闭前前防止CSRF攻击,不关闭页面必须是jsp页面,可以在自动生成的页面拷贝

//框架也允许使用iframe,不被拦截



//登出


//认证管理器

//认证的提供方
   
    //密码加密用的算法
       
       
   


//认证类

//使用set注入远程获取service接口实现类,因为用的是dubbox


//引入dubbox


//远程到注册中心找接口的实现,相当于bean

//登陆时告诉用什么密码加密,密码加密的工具类

10.密码加密
MD5: 加密32位的字符串  不可逆(哈希算法)
伪解谜:通过海量数据

BCrypt加密算法 (60个位数的字符串)
 //密码加密
BcryptPasswordEncoder passwordEncoder=new BcryptPasswordEncoder();
String password=passwordEncoder.encode(user.getPassword());
user.setPassword(password);


 

你可能感兴趣的:(spring)