我想允許一個特定的方法訪問多個用戶組。 Spring Security 3.x有可能使用@Secured註解來做這樣的事情嗎?考慮兩個組(作用)OPERATOR和USER,該代碼是否有效: Spring Security中的@Secured註釋中允許多個角色
@Secured("ROLE_OPERATOR", "ROLE_USER")
public void doWork() {
// do useful processing
}
我想允許一個特定的方法訪問多個用戶組。 Spring Security 3.x有可能使用@Secured註解來做這樣的事情嗎?考慮兩個組(作用)OPERATOR和USER,該代碼是否有效: Spring Security中的@Secured註釋中允許多個角色
@Secured("ROLE_OPERATOR", "ROLE_USER")
public void doWork() {
// do useful processing
}
你快到了。在語法上,你需要把它寫這樣的:
@Secured({"ROLE_OPERATOR", "ROLE_USER"})
public void doWork() { ... }
這是因爲你的註釋中單個陣列的屬性提供多個值。 (Java語法特殊情況下交付單個值,但現在您需要「正確地」執行此操作。)
@Donal Fellows答案對於Spring應用程序是正確的。但是,如果你在工作的Grails,你需要使用Groovy的語法列表,使代碼看起來像這樣
@Secured(["ROLE_OPERATOR", "ROLE_USER"])
public void doWork() { ... }
...,具體而言,這是一個(含)'或',對?如果您是ROLE_OPERATOR,或ROLE_USER或兩者,您將被授權。這不是'AND'。 – SusanW