appfuse 登录跳转

以appfuse3为例子:        spring mvc架构的

搭建好appfuse后,开始研究它的一个个技术是如何进行组合的; 首先说下登录的跳转;

1   看到web.xml中的,默认的访问界面还是 index.jsp

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

2   直接输入地址后,默认是加载index.jsp的对于,index.jsp中,可以看到很简单就两行;

<%@ include file="/common/taglibs.jsp"%>  
<c:redirect url="/home"/>

第一个可以进入看下,是一些标签啥的, 第二行就是一个跳转, jsp c标签的一个跳转;  该跳转

是根据 spring mvc的方式可以看到,在 dispatcher-servlet.xml 中 :

    <!-- Convenient way to map URLs to JSPs w/o having a Controller -->
    <mvc:view-controller path="/admin/activeUsers" view-name="admin/activeUsers"/>
    <mvc:view-controller path="/home" view-name="home"/>

由上面可以看到是直接跳到home.jsp 的;

我们打开home.jsp可以看到是appfuse的主界面的样式 ; 

但是我们实际的跳转是对于没有登录的,即是说在session中没有存在的用户,是直接到登录界面login的,但是

如上的方式,是到了home界面。


3  使用了 urlrewirte 和 Spring security控制的原因  ,简单一提,个人见解,欢迎指正;

对于urlrewrite中:

    <!-- Spring MVC -->
    <rule>
        <from>/**</from>
        <to>/app/$1</to>

    </rule>

对于所有的跳转,例如上面的跳转到/home , 会被重新指向/app/home


security.xml中:

    <http auto-config="true">
        <intercept-url pattern="/app/admin/**" access="ROLE_ADMIN"/>
        <intercept-url pattern="/app/passwordHint*" access="ROLE_ANONYMOUS,ROLE_ADMIN,ROLE_USER"/>
        <intercept-url pattern="/app/requestRecoveryToken*" access="ROLE_ANONYMOUS,ROLE_ADMIN,ROLE_USER" />
        <intercept-url pattern="/app/updatePassword*" access="ROLE_ANONYMOUS,ROLE_ADMIN,ROLE_USER" />
        <intercept-url pattern="/app/signup*" access="ROLE_ANONYMOUS,ROLE_ADMIN,ROLE_USER"/>
        <intercept-url pattern="/app/**" access="ROLE_ADMIN,ROLE_USER"/>
        <form-login login-page="/login" authentication-failure-url="/login?error=true" login-processing-url="/j_security_check"/>
        <remember-me user-service-ref="userDao" key="e37f4b31-0c45-11dd-bd0b-0800200c9a66"/>
    </http>


    <authentication-manager>
        <authentication-provider user-service-ref="userDao">
            <password-encoder ref="passwordEncoder">
            </password-encoder>
        </authentication-provider>
    </authentication-manager>



<form-login login-page="/login" authentication-failure-url="/login?error=true" login-processing-url="/j_security_check"/>

login-processing-url :  默认的执行检查url

login-page : 验证成功的跳转;

authentication-failure-url="/login?error=true" : 验证失败的跳转

<form-login login-page="/login" authentication-failure-url="/login?login_error=true" default-target-url="/index.jsp"/>login-page表示用户登陆时显示我们自定义的login.jsp。这时我们访问系统显示的登陆页面将是我们上面创建的login.jspauthentication-failure-url表示用户登陆失败时,跳转到哪个页面。当用户输入的登录名和密码不正确时,系统将再次跳转到/login.jsp,并添加一个error=true参数作为登陆失败的标示。default-target-url表示登陆成功时,跳转到哪个页面。



<authentication-provider user-service-ref="userDao"> : 对于userDao实现了

UserDetails loadUserByUsername(String username) throws UsernameNotFoundException;  该方法,可以进行数据库查询验证,根据结果

进行判断是否认证通过;












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值