我在Laravel 5.3中创建了一个网站,它有两个不同的注册入口点,这些入口点需要是子域名 .
我已经设置了两条路线,但我有点失落,我将为两个子域设置Auth :: routes() .
一条路线将用于注册并支付每月订阅费用的用户,而另一条路线将不会附加订阅费 .
作为网站说明:这两个注册表单目前是相同的,但可以添加一些字段,而不是基本的用户名/密码字段(想想姓名,姓氏等) .
路由组件中有一个子域功能:
路由组也可用于处理子域路由 . 可以像路由URI一样为子域分配路由参数,允许您捕获子域的一部分以供路由或控制器使用 . 可以使用组属性数组上的域密钥指定子域:
Route::group(['domain' => '{account}.myapp.com'], function () { Route::get('user/{id}', function ($account, $id) { // your code }); });
https://laravel.com/docs/5.3/routing#route-group-sub-domain-routing
如果订阅用户和非订阅用户在同一个表中,您可以手动验证用户身份(请参阅docs):
if (Auth::attempt(['email' => $email, 'password' => $password])) { // The user is logged in }
这个 Auth:attempt 方法有一个发送更多参数的选项:
Auth:attempt
if (Auth::attempt(['email' => $email, 'password' => $password, 'subscribed' => 1])) { // The user is a subscriber and logged in }
您需要在数据库中添加一个额外字段,以显示用户是否已订阅( subscribed ),并且您应该通过两个不同的注册页面填写1或0 .
subscribed
name 和 surname 字段应该在您的数据库中 nullable ,因此填充它们是可选的 .
name
surname
nullable
2 回答
路由组件中有一个子域功能:
https://laravel.com/docs/5.3/routing#route-group-sub-domain-routing
如果订阅用户和非订阅用户在同一个表中,您可以手动验证用户身份(请参阅docs):
这个
Auth:attempt
方法有一个发送更多参数的选项:您需要在数据库中添加一个额外字段,以显示用户是否已订阅(
subscribed
),并且您应该通过两个不同的注册页面填写1或0 .name
和surname
字段应该在您的数据库中nullable
,因此填充它们是可选的 .