我正在构建管理后端,因此需要隐藏公共用户注册。看来,如果您想使用内置的Illuminate身份验证,则需要添加
use AuthenticatesAndRegistersUsers
到你的控制器定义。该特征定义为here。
如果您想使用内置的身份验证处理程序,似乎无法禁用注册......有人会误解我吗?
答案 0 :(得分:2)
我正在使用Laravel 5.2+,我发现如果您删除CASE
WHEN MAX(PCO.PARENT_OPTION_ID) IS NOT NULL THEN MAX(PCO.SUGGESTION_TYPE)
ELSE MAX(O.SUGGESTION_TYPE)
END AS SUGGESTION_TYPE
并仅使用Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers
也可以。
虽然Illuminate\Foundation\Auth\AuthenticatesUsers
仍可访问,但会引发致命错误。
答案 1 :(得分:1)
This page谈论覆盖auth控制器。它值得一读,在基本级别,你似乎可以添加以下行到app \ Http \ Controllers \ Auth \ AuthController.php:
public function getRegister() {
return redirect('/');
}
public function postRegister() {
return redirect('/');
}
因此,如果用户访问注册网址,则会将其重定向到您选择的位置。
答案 2 :(得分:0)
您可以拥有自己的注册形式。 Laravel唯一能做的就是在用户表上进行身份验证很容易,因为他们创建了模型,为用户构建了db模式,并提供了帮助方法来对该模型/表进行身份验证。
您不必让视图点击注册页面......但是如果您想使用内置的身份验证,您仍然需要使用(或设置)模型和数据库连接的驱动程序。 / p>
您可以从链接到注册视图的路径中删除该视图和/或控制器方法,并创建您自己的(或手动为数据库设置种子)。
但是,不,你不能放弃使用Eloquent和用户模型并期望使用内置的身份验证。内置身份验证要求您在/config/auth.php中指定设置。您可以指定不同的模型(用户除外),也可以指定其他表,但不能完全放弃配置。
Laravel非常可定制,所以你可以实现你想要做的......加上为什么不使用Eloquent,它很好。
答案 3 :(得分:0)
基于@ shoo的答案,使用Laravel 5.2
将以下行添加到app \ Http \ Controllers \ Auth \ AuthController.php:
@implementation MyManager
+ (id)sharedManager {
static MyManager *sharedMyManager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedMyManager = [[self alloc] init];
});
return sharedMyManager;
}
// This is the function I want to stub in my test case
- (NSInteger) getId{
return [self askBackendToReturn];
}
...
@end