public function index(){
$user = DB::table("users")->where("id", 1)->get();
return view('home',['user'=>$user]);
}
此处“ id = 1”必须更改,并应显示当前登录的用户详细信息。
答案 0 :(得分:2)
如果您使用Laravel的默认登录实现,只需使用 public AesEncryptor()
{
// AES - CBC - with default PKCS5/PKCS7 scheme
_encryptionCipher = new PaddedBufferedBlockCipher(new CbcBlockCipher(new AesEngine()));
_decryptionCipher = new PaddedBufferedBlockCipher(new CbcBlockCipher(new AesEngine()));
}
public byte[] Encrypt(byte[] iv, byte[] byteArrayToEncrypt)
{
ParametersWithIV keyParamWithIV = new ParametersWithIV(_keyParam, iv, 0, iv.Length);
byte[] encryptedBytes;
lock (_encryptionLock)
{
_encryptionCipher.Init(true, keyParamWithIV);
encryptedBytes = new byte[_encryptionCipher.GetOutputSize(byteArrayToEncrypt.Length)];
int length = _encryptionCipher.ProcessBytes(byteArrayToEncrypt, encryptedBytes, 0);
_encryptionCipher.DoFinal(encryptedBytes, length);
}
return encryptedBytes;
}
public byte[] Decrypt(byte[] iv, byte[] byteArrayToDecrypt)
{
ParametersWithIV keyParamWithIV = new ParametersWithIV(_keyParam, iv, 0, iv.Length);
byte[] decryptedBytesReworked;
lock (_decryptionLock)
{
_decryptionCipher.Init(false, keyParamWithIV);
var decryptedBytes = new byte[_decryptionCipher.GetOutputSize(byteArrayToDecrypt.Length)];
int length = _decryptionCipher.ProcessBytes(byteArrayToDecrypt, decryptedBytes, 0);
int newLength = _decryptionCipher.DoFinal(decryptedBytes, length); //Do the final block
// TODO - incorrect initial byte array length
decryptedBytesReworked = new byte[length + newLength];
Array.Copy(decryptedBytes, decryptedBytesReworked, decryptedBytesReworked.Length);
}
return decryptedBytesReworked;
}
即可获取登录的用户模型。
Auth::user()
答案 1 :(得分:0)
此处无需在模型中进行任何操作。只是做这样的事情。
获取ID-
{{ Auth::id() }}
在刀片中。
OR
{{ Auth::user()->id }}
获得名字
{{ Auth::user()->name }}
并获取其他详细信息
{{ Auth::user()->databaseFieldName }}
答案 2 :(得分:0)
如果您使用的是laravel的默认身份验证系统
那么您可以直接在视图中直接使用Auth::id()
Auth::user()->id
或Auth::user()->name
或Auth::user()->email
。
您只需使用Auth::user()->field_name
如果要使用控制器,则可以使用以下代码
public function index(){
$user = Auth::user();
return view('home',compact('user'));
}
并使用查询生成器:
public function index(){
$user = DB::table("users")->where("id", Auth::user()->id)->get();
return view('home',compact('user'));
}
public function index(){
$user = DB::table("users")->where("id", Auth::id())->get();
return view('home',compact('user'));
}
注意:请确保将Auth类导入控制器use Illuminate\Support\Facades\Auth;
答案 3 :(得分:0)
这是即时通讯使用的方式,并且有效
@auth
{{{ isset(Auth::user()->name) ? Auth::user()->name : Auth::user()->email }}}
<a href="{{ url('/logout') }}"> Logout </a>
@else
<a href="{{ route('login') }}">Login</a>
<a href="{{ route('register') }}">Register</a>
@endauth