Hibernate 如何使用struts2管理我的java类中的角色
大家好,我是Java EE的初学者,正在使用struts 2和hibernate开发应用程序,在我的表用户中,我有不同的角色(管理员、用户实习生、euserextern) 这是我的支柱Hibernate 如何使用struts2管理我的java类中的角色,hibernate,jakarta-ee,struts2,tomcat7,Hibernate,Jakarta Ee,Struts2,Tomcat7,大家好,我是Java EE的初学者,正在使用struts 2和hibernate开发应用程序,在我的表用户中,我有不同的角色(管理员、用户实习生、euserextern) 这是我的支柱 <package name="rolePackage" namespace="/" extends="struts-security"> <interceptors> <interceptor name="rolesInterceptor" class=
<package name="rolePackage" namespace="/" extends="struts-security">
<interceptors>
<interceptor name="rolesInterceptor" class="ma.stm.interceptor.RolesInterceptor" />
<interceptor-stack name="defaultSecurityStack">
<interceptor-ref name="defaultSecurityStack" />
<interceptor-ref name="rolesInterceptor" >
<param name="roleActions">*: Internal;
admin: Admin;
userinterne: UserInterne;
userextern: UserExterne
</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
<action name="Admin">
<result>/STM/WebContent/web/admin/adduser.jsp</result>
</action>
<action name="UserInterne">
<result>/STM/WebContent/web/userinterne/Userinterne.jsp</result>
</action>
<action name="userextern">
<result>/STM/WebContent/web/userexterne/Userexterne.jsp</result>
</action>
</package>
但是我该怎么做呢?请帮助我?首先,您可以正确比较字符串。第二,您可以正确命名您的方法;名为
getRoles()
的内容不应返回单个对象,而应返回列表。第三,实际问题是什么?定义全局结果并在字符串比较后返回它们。实际问题是如何将方法重定向到操作?通过返回redirectAction
result的名称。类似于全局结果或特定于操作的结果。好的,谢谢。我将尝试您还可以实现principal aware以获取当前安全对象,并检查它是否属于特定角色。如果操作只重定向到某个操作,但利用带有拦截器的代码来路由您的操作,则无需编写操作。
if(result.getRoles()=="Admin"){
redirection to action admin
}
if(result.getRoles()=="Userintern"){
redirection to action Userinterne
}