laravel管理员包(frozennode),login_path

时间:2014-06-15 09:53:09

标签: php laravel package administrator

我安装了freezenode管理员包。这很棒但是我遇到了问题。 当我在网址中写'admin'时,没有任何登录,它直接将我重定向到管理页面,我需要设置权限,所以当然我需要用户登录。我应该在哪里放置我的登录页面并在检查后将其连接(重定向)到管理页面?我更改了login_path字段的administrator.php文件,很多次,但它总是给我一个未找到的exeption。我使用laravel 4.1。

谢谢你的时间。

1 个答案:

答案 0 :(得分:1)

我还没有使用FrozenNode的管理员软件包一段时间了,但是你确保你的config / packages / frozennode / administrator / administrator.php配置文件在{{1}中有以下内容吗? } key:

permission

我模糊地回忆起它默认为空白(这意味着没有用户检查)所以你只需要添加它。

同样值得查看同一个配置文件中的'permission'=> function () { return Auth::check(); }, 密钥,因为它设置了管理员重定向未经身份验证的用户的路径。

See here,说明此文件中的设置。

值得注意的是,管理员不会为您处理您的身份验证(或授权)。但是,它允许您将身份验证系统插入其中,这就是存在这些设置的原因。因此,为了让管理员使用身份验证,您需要做的各种事情是:

  • 现有的,有效的身份验证系统:
    • 使用表单
    • 的登录路线
    • 用于身份验证的登录表单
    • 退出方式
  • 编辑管理员的设置以支持您的身份验证系统和您的身份验证系统与管理员一起使用:
    • login_path键应该指向一个闭包,如果用户已登录(并且能够访问管理,如果你有一个更复杂的auth系统),则返回true;如果没有,则返回false - 在普通Laravel中&# 39;简单permission
    • return Auth::check();键应指向您的登录表单路由的URI(如果您希望使用命名路由,则可以使用login_path来获取此设置的值)
    • URL::route('named.route')应指向您的退出路线(同样位于重新URI /命名路线之上)
    • logout_path密钥应设置为您希望能够计算出“预期”值的任何值。登录后的网址 - 发布登录表单并成功通过身份验证后,您使用login_redirect_key重定向到此网址 - 此处默认设置正常