1

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 クラスを書きました。

他に何をすべきですか?

4

0 に答える 0