用户角色权限表关系使用数据库完成springSecurity用户登录验证1.springSecurity的使用步骤:1.在web工程的pom.xml文件下导入依赖
!--SpringSecurity权限管理--dependencygroupIdorg.springframework.security/groupIdartifactIdspring-security-web/artifactIdversion${spring.security.version}/version/dependencydependencygroupIdorg.springframework.security/groupIdartifactIdspring-security-config/artifactIdversion${spring.security.version}/version/dependencydependencygroupIdorg.springframework.security/groupIdartifactIdspring-security-core/artifactIdversion${spring.security.version}/version/dependency!--使用标签拦截配置--dependencygroupIdorg.springframework.security/groupIdartifactIdspring-security-taglibs/artifactIdversion${spring.security.version}/version/dependency2.2.创建spring-security.xml配置文件
?xmlversion="1.0"encoding="UTF-8"?beansxmlns="http://www.springframework.org/schema/beans"xmlns:security="http://www.springframework.org/schema/security"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/securityhttp://www.springframework.org/schema/security/spring-security.xsd"!--配置不拦截的资源--security:httppattern="/login.jsp"security="none"/security:httppattern="/failer.jsp"security="none"/security:httppattern="/css/**"security="none"/security:httppattern="/img/**"security="none"/security:httppattern="/plugins/**"security="none"/!--配置具体的规则auto-config="true"不用自己编写登录的页面,框架提供默认登录页面use-expressions="false"是否使用SPEL表达式(没学习过)--security:httpauto-config="true"use-expressions="true"!--配置具体的拦截的规则pattern="请求路径的规则"access="访问系统的人,必须有ROLE_USER的角色"--security:intercept-urlpattern="/**"access="hasAnyRole('ROLE_USER','ROLE_ADMIN')"/!--定义跳转的具体的页面--security:form-loginlogin-page="/login.jsp"login-processing-url="/login.do"default-target-url="/index.jsp"authentication-failure-url="/failer.jsp"authentication-success-forward-url="/pages/main.jsp"/!--关闭跨域请求--security:csrfdisabled="true"/!--退出--security:logoutinvalidate-session="true"logout-url="/logout.do"logout-success-url="/login.jsp"//security:http!--切换成数据库中的用户名和密码--security:authentication-managersecurity:authentication-provideruser-service-ref="userService"!--配置加密的方式--security:password-encoderref="passwordEncoder"//security:authentication-provider/security:authentication-manager!--配置加密类--beanid="passwordEncoder"class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"//beans3.3.用户登录的前台页面login.jsp
divclass="login-logo"ahref="all-admin-index.html"bWANG/b后台管理系统/a/div!--/.login-logo--divclass="login-box-body"pclass="login-box-msg"登录系统/pformaction="${pageContext.request.contextPath}/login.do"method="post"divclass="form-grouphas-feedback"inputtype="text"name="username"class="form-control"placeholder="用户名"spanclass="glyphiconglyphicon-envelopeform-control-feedback"/span/divdivclass="form-grouphas-feedback"inputtype="password"name="password"class="form-control"placeholder="密码"spanclass="glyphiconglyphicon-lockform-control-feedback"/span/divdivclass="row"divclass="col-xs-8"divclass="checkboxicheck"labelinputtype="checkbox"记住下次自动登录/label/div/div!--/.col--divclass="col-xs-4"buttontype="submit"class="btnbtn-primarybtn-blockbtn-flat"登录/button/div!--/.col--/div/formahref="#"忘记密码/abr/div4.4.用户权限登录的service层
@Service("userService")@TransactionalpublicclassIUserServiceImplimplementsIUserService{@AutowiredprivateIUserDaouserDao;@AutowiredprivateBCryptPasswordEncoderbCryptPasswordEncoder;@OverridepublicUserDetailsloadUserByUsername(Stringusername)throwsUsernameNotFoundException{UserInfouserInfo=userDao.findByUsername(username);Useruser=newUser(userInfo.getUsername(),userInfo.getPassword(),userInfo.getStatus()==0?false:true,true,true,true,getAuthority(userInfo.getRoles()));returnuser;}privateListSimpleGrantedAuthoritygetAuthority(ListRoleroles){ListSimpleGrantedAuthoritylist=newArrayList();for(Rolerole:roles){list.add(newSimpleGrantedAuthority("ROLE_"+role.getRoleName()));}returnlist;}5.5.userDao层
@Select("select*fromuserswhereusername=#{username}")@Results({@Result(id=true,property="id",column="id"),@Result(column="username",property="username"),@Result(column="email",property="email"),@Result(column="password",property="password"),@Result(column="phoneNum",property="phoneNum"),@Result(column="status",property="status"),@Result(column="id",property="roles",javaType=java.util.List.class,many=@Many(select="com.wang.ssm.dao.IRoleDao.findRoleByUserId"))})publicUserInfofindByUsername(Stringusername);用户退出6.配置
security:logoutinvalidate-session="true"logout-url="/logout.do"logout-successurl="/login.jsp"/7.页面
ahref="${pageContext.request.contextPath}/logout.do"class="btnbtn-defaultbtn-flat"注销/a用户查询8.UserController层
/***查看用户*@return*@throwsException*/@RequestMapping("/findAll.do")publicModelAndViewfindAll()throwsException{ListUserInfousers=userService.findAll();ModelAndViewmv=newModelAndView();mv.addObject("userList",users);mv.setViewName("user-list");returnmv;}9.Dao层
@Select("select*fromuser")publicListUserInfofindAll()用户添加10.UserController层
/***保存用户*@paramuser*@return*/@RequestMapping("/save.do")publicStringsave(UserInfouser){userService.save(user);return"redirect:findAll.do";}11.Dao层
@Insert("insertintousers(email,username,password,phoneNum,status)"+"values(#{email},#{username},#{password},#{phoneNum},#{status})")publicvoidsave(UserInfouser);用户详情/***根据id查询某个用户*@paramid*@return*@throwsException*/@RequestMapping("/findById.do")publicModelAndViewfindById(Stringid)throwsException{ModelAndViewmv=newModelAndView();UserInfouserInfo=userService.findById(id);mv.addObject("user",userInfo);mv.setViewName("user-show1");returnmv;}@Select("select*fromuserswhereid=#{id}")@Results({@Result(id=true,property="id",column="id"),@Result(property="username",column="username"),@Result(property="email",column="email"),@Result(property="password",column="password"),@Result(property="phoneNum",column="phoneNum"),@Result(property="status",column="status"),@Result(property="roles",column="id",javaType=java.util.List.class,many=@Many(select="com.wang.ssm.dao.IRoleDao.findRoleByUserId"))})publicUserInfofindById(Stringid);
企业权限管理系统-用户模块-企业用户管理系统-如何管理小程序
浏览量:1568
时间:
来源:emptyCup %
版权声明
即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。
最新资讯
-

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。 -

零代码 + AI 双轮驱动|即速应用解锁人工智能小程序开发新范式
无需代码、无需 AI 算法功底,普通人也能快速搭建智能小程序。即速应用将人工智能与零代码开发深度融合,推出 AI 智能生成能力,用户通过自然语言描述需求,AI 自动生成小程序页面、功能模块与后台配置,覆盖商城、预约、同城、社区团购等全场景。平台内置 AI 智能推荐、智能客服、用户画像分析等能力,一键对接微信生态,打通视频号、企业微信、短信跳转,帮企业快速落地 AI 应用,抢占智慧经营先机,让每家企业都拥有 AI 驱动的智慧店铺。











