`
温柔一刀
  • 浏览: 858198 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于acegi安全框架登陆后转向的疑问

阅读更多
我想实现的要求是这样的:有几种不同的角色登陆使用系统,但是登陆之后根据不同的角色转向不同的文件,比如现在有老师和学生两个角色,老师登陆后转向/teacher/teacher.shtml,学生登陆后转向/student/student.shtml,我看了下acegi的配置,好象只能配置一个默认的转向页面defaultTargetUrl,如下:

<bean id="authenticationProcessingFilter"
		class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
		<property name="authenticationManager">
			<ref bean="authenticationManager" />
		</property>
		<property name="authenticationFailureUrl">
			<value>/accessDenied.jsp?login_error=1</value>
		</property>
		<property name="defaultTargetUrl">
			<value>/student/student.shtml</value>
		</property>
		<property name="filterProcessesUrl">
			<value>/j_acegi_security_check</value>
		</property>
	</bean>


我上面的需求应该是很常见的,有没有比较好的解决办法?
我现在想的一种解决办法是,登陆之后统一转向到同一个页面,然后再在那个页面上用几个链接转向各自的页面,但是这样不太人性化吧
分享到:
评论
7 楼 温柔一刀 2007-01-31  
JavaFlasher 写道
    <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <property name="exceptionMappings">
            <props>
                <prop key="org.springframework.dao.DataAccessException">dataAccessFailure</prop>
            </props>
        </property>
    </bean>


这里面 dataAccessFailure 对应的是 dataAccessFailure.jsp 请问一下 .jsp是哪里设置的? 我要改成 error.htm怎么办?


这个spring配置文件里面有配置前后缀了,前缀一般都是文件目录目录,后缀可以随便的,如果视图层用的文件类型比较多,可以不配置后缀,这样后缀就可以任意写了
6 楼 JavaFlasher 2007-01-30  
    <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <property name="exceptionMappings">
            <props>
                <prop key="org.springframework.dao.DataAccessException">dataAccessFailure</prop>
            </props>
        </property>
    </bean>


这里面 dataAccessFailure 对应的是 dataAccessFailure.jsp 请问一下 .jsp是哪里设置的? 我要改成 error.htm怎么办?
5 楼 温柔一刀 2006-10-10  
stamen 写道
顺着这个问题,我想问一个,访问一个业务方法失败后,是否可以定义转向的错误页面,好象acegi只是抛出异常,然后根据异常来决定转向吧,不知道是否可以在Acegi中直接配置。


这个可以用spring配置的

<bean id="exceptionResolver"
		class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
		<property name="exceptionMappings">
			<props>
				<prop key="java.lang.NullPointerException">errorFriendly</prop>
				<prop key="java.sql.SQLException">errorSQLFriendly</prop>
			</props>
		</property>
	</bean>
4 楼 realzn 2006-10-10  
配置exceptionMappings算不算?
3 楼 stamen 2006-10-09  
顺着这个问题,我想问一个,访问一个业务方法失败后,是否可以定义转向的错误页面,好象acegi只是抛出异常,然后根据异常来决定转向吧,不知道是否可以在Acegi中直接配置。
2 楼 realzn 2006-10-09  
或者干脆你继承AuthenticationProcessingFilter,自己在里面写业务逻辑..
或者给角色定义一个url属性..成功登录后自动跳转到这个url,一样要在控制器里面实现,就是不用判断角色了.
1 楼 温柔一刀 2006-10-03  
又想到了解决办法
可以统一转向到一个控制器
然后在控制器里面根据角色判断转向的页面

相关推荐

Global site tag (gtag.js) - Google Analytics