Android studio是做啥的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android studio是做啥的相关的知识,希望对你有一定的参考价值。

1、可以的做android游戏和android App 也可以发布做好android的app
2、Android Studio 是一个基于IntelliJ IDEA的 Android App 开发工具,JetBrains公司和Google公司合作开发的。
参考技术A 开发工具,类似eclipse。 参考技术B Android 应用开发的

$guard 是做啥的

【中文标题】$guard 是做啥的【英文标题】:what does $guard do$guard 是做什么的 【发布时间】:2020-02-02 10:50:57 【问题描述】:

我正在阅读身份验证教程,其中大多数将受保护的 $guard = 'admin' 添加到 Admin 类。 我不明白他们为什么要添加它

namespace App\Models;
use Illuminate\Foundation\Auth\User as Authenticatable;
class Admins extends Authenticatable

       protected $guard = 'admin';
       ......

【问题讨论】:

这两个指南对你有帮助希望medium.com/@DarkGhostHunter/…medium.com/@JinoAntony/… Laravel What is a guard?的可能重复 属性 $guard 必须放在模型或 AuthController 中? 【参考方案1】:

当我阅读有关多重身份验证的网络博客时,我问自己同样的问题:“$guard 在我的模型中的目标是什么?”。经过探索,我明白这没有意义,我们可以删除这行代码。 我认为第一个博客的作者犯了错误,其他正在写自己的人的人也只是复制了这个错误。 用户模型可以包含类似的属性 $guarded,我们在 Mass Assignment 中使用它作为属性黑名单,而 $fillable 作为白名单。

此外,$guard 属性在 5.3 之前的 privious laravel 版本的 AuthenticatesUsers trait 中。

protected function getGuard()
 
     return property_exists($this, 'guard') ? $this->guard : null;
 

在 5.3 中,此方法已被替换:

protected function guard()
 
    return Auth::guard();
 

所以在 5.2 之后 $guard 属性不再存在。 我们在 LoginController 中使用的 AuthenticatesUsers 特征,为了设置保护,我们应该覆盖保护方法,但 protected $guard = 'custom guard name':

/*> 5.2*/
class LoginController extends Controller

    use AuthenticatesUsers;    
 
    protected $redirectTo = RouteServiceProvider::HOME;
  
    public function __construct()
    
        $this->middleware('guest')->except('logout');
    

    protected function guard()
    
        return Auth::guard('custom guard name');
    


/*< 5.3*/
class AuthController extends Controller

    use AuthenticatesAndRegistersUsers, ThrottlesLogins;

    protected $redirectPath = '/';
    protected $guard = 'custom guard name';

【讨论】:

【参考方案2】:

Laravel 5.2 和更早的版本使用 $guard 来指定 PasswordController 的保护。 https://laravel.com/docs/5.2/authentication#password-customization

从 Laravel 5.3 开始,使用 protected function guard() 代替。请参阅https://laravel.com/docs/5.3/authentication#included-authenticating中的“Guard 自定义”

【讨论】:

【参考方案3】:

实际上,gaurd 定义了系统应如何存储和检索有关您的用户的信息。

您可以在config/auth.php 文件中找到文件位置并进行配置。 主要有两个 gaurd 一个 id "web" 另一个是 "api" 守卫。

1) Web Guard 是传统的 cookie 存储 - 因此 Web Guard 指示 Laravel 存储和检索会话信息。

2) 另一方面,API 守卫使用令牌。因此,如果您想使用标头(承载)或查询参数中的 API 令牌对用户和请求进行身份验证,则可以使用 API 防护。

creating own guard 没有限制。

这是在 laravel 中创建自己的守卫的示例 将 $guard 放在模型中,例如:

app/Dealer.php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class Dealer extends Authenticatable

    use Notifiable;

    protected $guard = 'dealer';


配置/auth.php

<?php

[...]
'guards' => [
    [...],
    'dealer' => [
        'driver' => 'session',
        'provider' => 'dealers',
    ],
],

'providers' => [
    [...]
    'writers' => [
        'driver' => 'eloquent',
        'model' => App\Dealer::class,
    ],
],
[...]

app/Http/Controllers/Auth/LoginController.php

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
[...]
use Illuminate\Http\Request;
use Auth;
use App\Dealer;
[...]
class LoginController extends Controller

    [...]
    public function __construct()
    
        $this->middleware('guest:dealer')->except('logout'); // call here
    
    [...]

【讨论】:

属性 $guard 必须放在模型或 AuthController 中? @thedev09 我用创建自己的自定义防护的示例格式更新了我的答案。 在model中不加$guard有什么区别? 如果您没有将 $guard 与您的自定义名称一起使用,那么默认情况下,“web”防护将应用会话检查,而“api”令牌检查将适用于 api。因此,如果您想使用自己的防护,那么您需要在模型中添加模型以及控制器,如上面解释的答案。 我认为在 auth.php 文件中添加保护就足够了,我从模型中删除了 $guard 并且程序可以完美运行【参考方案4】:

我很确定这只是一个常用的变量名。你应该想知道protected 是什么意思;此修饰符可在定义它的类及其父类或继承类中使用。

不过,我也发现了有关低于 5.3 的 Laravel 版本:

在你的auth.php配置文件中,你可以配置多个“守卫”,可以用来定义多个用户表的认证行为。

在 5.3 之后命名不同。

【讨论】:

属性 $guard 必须放在模型或 AuthController 中?【参考方案5】:

Laravel 的身份验证设施由“守卫者”和“提供者”组成。 Guards 定义了如何为每个请求对用户进行身份验证。例如,Laravel 附带了一个会话守卫,它使用会话存储和 cookie 来维护状态。

Laravel 提供了不同的保护,例如会话和令牌。会话守卫通过 cookie 在每个请求中维护用户的状态,另一方面,令牌守卫通过检查每个请求中的有效令牌来对用户进行身份验证。

protected $guard 用于保护您的数据库免遭批量分配。

【讨论】:

你把 $guard$guarded 混淆了

以上是关于Android studio是做啥的的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio的导航栏有个下拉菜单 选中app项是做啥的?

ImageView android:cropToPadding,它实际上是做啥的?

框架布局是做啥的?

sqlserver management studio是做啥的 跟sqlserver有啥区别啊

addScalar 是做啥的?

LoaderManager 是做啥的?