Struts 2 アプリケーションにセキュリティを追加したいと考えています。私はアパッチシロを選びました。役立つヒントを教えてください。shiro さんのサイトの Web インテグレーションに従ってインテグレーションを開始しましたが、現時点では機能しません。
web.xml に追加しました
<filter>
<filter-name>ShiroFilter</filter-name>
<filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ShiroFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
と
<listener>
<listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
</listener>
shiro インターセプターを作成しました。
public class ShiroInterceptor extends AbstractInterceptor {
public String intercept(ActionInvocation actionInvocation) throws Exception {
Subject shiroUser = SecurityUtils.getSubject();
actionInvocation.getStack().setValue("shiroUser", shiroUser);
return actionInvocation.invoke();
}
}
shiro.ini を追加しました
[main]
#authc = org.apache.shiro.web.filter.authc.PassThruAuthenticationFilter
authc.loginUrl = /login.jsp
authc.usernameParam = login
authc.passwordParam = password
authc.successUrl = /some.jsp
roles.unauthorizedUrl = /error.jsp
myRealm = travel_click.logic.manager.security.MyRealm
securityManager.realms = $myRealm
[urls]
/**=authc
MyRealm クラスを書きました。
他に何をすべきですか?