Spring Security怎么实现普通用户和后台管理员认证分离
发布网友
发布时间:2022-04-22 20:54
我来回答
共1个回答
热心网友
时间:2022-04-09 23:39
Spring Security原名是Acegi Security;类别为安全服务体系;所属Spring 项目;是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。
spring security实现用户注册的方法如下步骤操作:
将前台用户和后台管理用户,设置在同一登录页面登录,进行身份验证。
applicationContext-security.xml的设置如下:
<http auto-config="true" use-expressions="true">
<!--设置登录页面和登录处理,及验证失败的url-->
<form-login login-processing-url="/user/j_spring_security_check" login-page="/userlogin" authentication-failure-url="/userlogin?login_error=t" />
<!--设置注销用户的url-->
<logout logout-url="/user/j_spring_security_logout" logout-success-url="/user/"/>
<!--设置匹配前台用户url,所拥有的权限-->
<intercept-url pattern="/user/**" access="hasRole('ROLE_USER')"/>
<!--设置匹配后台管理用户url,所拥有的权限-->
<intercept-url pattern="/admin/**" access="hasRole('ROLE_ADMIN')"/>
</http>
<!--设置验证管理-->
<authentication-manager alias="authenticationManager">
<!--可根据需求,设置验证提供者-->
<authentication-provider>
<user-service>
<user name="root" authorities="ROLE_ADMIN" password="root" />
<user name="admin" authorities="ROLE_ADMIN" password="admin" />
<user name="tonyzhao" password="tonyzhao" authorities="ROLE_USER" />
<user name="mr_zyf@163.com" password="mr_zyf@163.com" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>
Spring Security 的前身是 Acegi Security ,是 Spring 项目组中用来提供安全认证服务的框架。Spring Security 为基于J2EE企业应用软件提供了全面安全服务。特别是使用领先的J2EE解决方案-Spring框架开发的企业软件项目。