博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
A. 将前台用户和后台管理用户,设置在同一登录页面登录,进行身份验证。
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>

 

B. 如果分别实现前台用户和后台管理用户登录
applicationContext-security.xml的设置如下:
<!--设置匹配后台管理用户url,登录页面和所拥有的权限,以及引用adminAuthManager验证管理-->
<http auto-config="true" pattern="/admin/**"  use-expressions="true" authentication-manager-ref="adminAuthManager">
      <form-login login-processing-url="/admin/j_spring_security_check" login-page="/adminlogin" authentication-failure-url="/adminlogin?login_error=t" />
      <logout logout-success-url="/admin/"  logout-url="/admin/j_spring_security_logout" />
      <intercept-url pattern="/**" access="hasRole('ROLE_ADMIN')"/>
</http>
<!--设置匹配前台用户url,登录页面和所拥有的权限,以及引用userAuthManager验证管理--> <http auto-config="true" use-expressions="true" authentication-manager-ref="userAuthManager"> <form-login login-processing-url="/user/j_spring_security_check" login-page="/userlogin" authentication-failure-url="/userlogin?login_error=t" /> <logout logout-url="/user/j_spring_security_logout" logout-success-url="/user/"/> <intercept-url pattern="/user/**" access="hasRole('ROLE_USER')"/> </http>
<!--前台用户验证管理bean--> <authentication-manager id="userAuthManager"> <authentication-provider> <user-service>       <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>
<!--后台管理用户验证管理bean--> <authentication-manager id="adminAuthManager">   <authentication-provider>     <user-service>       <user name="root" authorities="ROLE_ADMIN" password="root" />       <user name="admin" authorities="ROLE_ADMIN" password="admin" />     </user-service> </authentication-provider> </authentication-manager>