簡體   English   中英

Spring Security角色定義

[英]Spring Security role define

當我嘗試通過提供用戶名名稱為“ sumit1”和密碼為“ 123”進行身份驗證時,它會將我重定向到登錄錯誤頁面,盡管我定義的角色與我為用戶名“ sumit”定義的角色相同。

這是我的spring-security xml文件。

<?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:security="http://www.springframework.org/schema/security"
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/security 
       http://www.springframework.org/schema/security/spring-security-3.2.xsd">

     <!-- This is where we configure Spring-Security  -->
     <security:http auto-config="true" access-denied-page="/sumit/auth/denied.jsp" >


      <security:intercept-url pattern="/admin**" access="ROLE_ADMIN"/>
      <security:intercept-url pattern="/user**" access="ROLE_USER"/>
      <security:form-login authentication-failure-url="/sumit/auth/invalid.jsp"/>


      <!-- <security:form-login login-page="/sumit/auth/login.jsp"/> -->

      <security:logout logout-success-url="/index.jsp"/>

     </security:http>

     <!-- Declare an authentication-manager to use a custom userDetailsService -->
     <security:authentication-manager>
             <security:authentication-provider>
               <security:user-service><security:user name="sumit" password="123" authorities="ROLE_ADMIN"/></security:user-service>
               <security:user-service><security:user name="sumit1" password="123" authorities="ROLE_ADMIN"/></security:user-service>
             </security:authentication-provider>
     </security:authentication-manager>

     <!-- Use a Md5 encoder since the user's passwords are stored as Md5 in the database -->
     <bean class="org.springframework.security.authentication.encoding.Md5PasswordEncoder" id="passwordEncoder"/>

      <!-- An in-memory list of users. No need to access an external database layer.
          See Spring Security 3.1 Reference 5.2.1 In-Memory Authentication -->
      <!-- john's password is admin, while jane;s password is user  -->


    </beans>

正如Pavel在評論中提到的那樣,您有兩個<security:user-service>標簽。 您只需要一個用戶,就可以在同一用戶下定義多個用戶。

<security:authentication-manager>
             <security:authentication-provider>
               <security:user-service>
                  <security:user name="sumit" password="123" authorities="ROLE_ADMIN"/>
                  <security:user name="sumit1" password="123" authorities="ROLE_ADMIN"/>
               </security:user-service>
             </security:authentication-provider>
</security:authentication-manager>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM