auth

TODO:Laravel 内置简单登录

一个人想着一个人 提交于 2019-12-09 10:00:58
TODO:Laravel 内置简单登录 1. 激活Laravel的Auth系统Laravel 利用 PHP 的新特性 trait 内置了非常完善好用的简单用户登录注册功能,适合一些不需要复杂用户权限管理的系统,例如公司内部用的简单管理系统。运行以下命令: php artisan make:auth 运行成功显示 Authentication scaffolding generated successfully. 2. 在路由代码里面加入了 Auth::routes() 主要实现权限的登录、用户注册、用户退出 登录访问http://127.0.0.1:8000/login: 用户注册http://127.0.0.1:8000/register: 登录成功后才可访问/home页面,不然一直处于登录页面 3. 简单的分析auth的代码,只要在需要加权限的Controller的php代码加入构造函数的auth代码即可,如图: 可以看到AuthorizesRequests, DispatchesJobs, ValidatesRequests都是trait;auth是以一种中间件的模式被加入到代码中,中间件是laravel到重要组成部分,我们也可以创建中间件来进行使用。Laravel自带的中间件有auth,web,http,route,session,view等,创建中间件方法很简单: php

spring httpinvoker添加服务端安全认证策略

泪湿孤枕 提交于 2019-11-30 18:05:40
1 背景 正在经手的项目的web应用之间是通过spring的controller方式暴露接口,然后使用httpClient进行访问。普普通通的增删改查功能也得写上七八个方法才能实现,实在是写到心累。于是乎想要增加一种远程调用方式,本着尽量遵循原有安全验证策略的原则,对httpinvoker做了些小的调整。不过方案最终被负责人否了,只能继续写可爱的httpClient方法。只好抹去业务逻辑,把代码变成博客安安静静的躺在知识库里 。 2 思路与实现 通过对源代码的解读,发现spring和httpinvoker在进行远程调用时,主要是通过RemoteInvocation这个类来传递参数。于是调整的思路就是借助这个类传递我们的认证信息 ,在服务端读取的同时进行安全认证。以达到最终的目的。 首先是自定义安全认证信息类,这个类在客户端负责存放安全认证信息和生成安全密钥,在服务端负责解密: /** * HttpInvoker调用验证信息类 */ public class MyHttpInvokerAuthInfo { private static final Logger LOGGER = LoggerFactory.getLogger(MyHttpInvokerAuthInfo.class); //用户名KEY public static final String USERNAME_KEY =