Laravel登录后更改主页面

时间:2017-09-19 12:35:45

标签: php laravel

我想在登录用户后显示其他主页面。

Route::get('/', 'PagesController@getIndex');

Route::group(['middleware' => 'auth'], function () {
    Route::get('/', 'BlogController@getUserBlog');
});

当用户登录时,我想显示BlogController@getUserBlog它的工作情况,但是,当用户未经过身份验证时,laravel会显示/login页面而不是PagesController@getIndex。如何更正:

验证用户:BlogController@getUserBlog

访客:PagesController@getIndex

2 个答案:

答案 0 :(得分:1)

在此中间件RedirectIfAuthenticated

中进行更改
public function handle($request, Closure $next, $guard = null)
{
    if (Auth::guard($guard)->check()) {
        //Logged In
        return redirect()->route('getUserBlog');
    }

    // Not Logged In
    return redirect()->route('getIndex');
}

并对routes文件进行必要的更改

Route::get('/', 'PagesController@getIndex')->name('getIndex');
Route::get('/', 'BlogController@getUserBlog')->name('getUserBlog');

答案 1 :(得分:0)

或者你可以在没有中间件的情况下做到这一点:

<bean id="hibernateSessionFactory"  class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
    <property name="dataSource" ref="hibernateDatasource" />
    <!-- HERE YOU HAVE TO PUT THE PACKAGE 
         WHERE YOUR ENTITY CLASS ARE LOCATED 
         (I mean classes annotated with @Entity annotation -->
    <property name="packagesToScan" value="hibernate.models" />
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">
                ${hibernate.props.db.dialect}
            </prop>
            <prop key="hibernate.show_sql">
                ${hibernate.props.db.show.sql}
            </prop>
            <prop key="hibernate.generate_statistics">
                ${hibernate.props.db.generate.statistics}
            </prop>
            <prop key="hibernate.format_sql">
                ${hibernate.props.db.format.sql}
            </prop>
            <prop key="hibernate.hbm2ddl.auto">
                ${hibernate.props.db.ddl.instr}
            </prop>
            <prop key="hibernate.cache.use_second_level_cache">${hibernate.props.db.use.cache}</prop>
            <prop key="hibernate.cache.use_query_cache">${hibernate.props.db.use.query.cache}</prop>
            <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory
            </prop>
            <prop key="net.sf.ehcache.configurationResourceName">hibernateEhCacheCfg.xml</prop>
            <prop key="hibernate.jdbc.batch_size">${hibernate.props.db.jdbc.batch.size}</prop>
            <prop key="hibernate.jdbc.use_streams_for_binary">true</prop>
        </props>
    </property>
</bean>