PHPackages                             puzzle9/laravel-admin-extension-security-signin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. puzzle9/laravel-admin-extension-security-signin

ActiveLibrary

puzzle9/laravel-admin-extension-security-signin
===============================================

适用于 laravel-admin 的 安全登录扩展,支持登录时验证码、限流、rsa加密等

v1.0.2(3y ago)023MITBladePHP &gt;=7.0.0

Since Aug 31Pushed 3y ago1 watchersCompare

[ Source](https://github.com/puzzle9/laravel-admin-extension-security-signin)[ Packagist](https://packagist.org/packages/puzzle9/laravel-admin-extension-security-signin)[ Docs](https://github.com/puzzle9/laravel-admin-extension-security-signin)[ RSS](/packages/puzzle9-laravel-admin-extension-security-signin/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (3)Versions (3)Used By (0)

laravel-admin extension signin security
=======================================

[](#laravel-admin-extension-signin-security)

适用于 `laravel-admin` 的 安全登录扩展,支持`登录`时`验证码`、`限流`、`rsa加密`等

安装
==

[](#安装)

```
composer require puzzle9/laravel-admin-extension-security-signin -vvv
```

推送资源文件
------

[](#推送资源文件)

```
php artisan vendor:publish --provider="Encore\SecuritySignin\SecuritySigninServiceProvider"
```

添加配置文件
------

[](#添加配置文件)

`config/admin.php` 文件 `extensions` 中

```
'extensions' => [
    // ...
    'security-signin' => [
        'enable'          => true,
        // 未更改过框架默认视图的话 默认即可
        'view_path'       => '/views/laravel-admin/security-signin',
        'captcha'         => [
            // 是否开启验证码功能
            'enable'                      => true,
            // 只有首次登录失败才展示验证码
            'first_login_failure_display' => true,
            // 缓存名称
            'cache_name'                  => 'laravel_admin_captcha_cache',
        ],
        'throttles'       => [
            // 是否开启登录限流
            'enable'        => true,
            // 最大尝试次数
            'max_attempts'  => 3,
            // 到达最大尝试次数后锁定时间 分钟
            'decay_minutes' => 1,
        ],
        'form_encryption' => [
            // 是否开启登录rsa加密
            'enable'      => false,
            // 私钥
            'private_key' => '',
            // 公钥
            'public_key'  => '',
        ],
    ],
]
```

使用
==

[](#使用)

验证码
---

[](#验证码)

采用 [mews/captcha](https://packagist.org/packages/mews/captcha)

```
php artisan vendor:publish --provider="Mews\Captcha\CaptchaServiceProvider"
```

`config/captcha.php` 中增加 `laravel-admin` 字段

```
    'laravel-admin' => [
        // 长宽建议如此
        'width' => 120,
        'height' => 36,

        'length' => 4,
        'quality' => 90,
        'math' => false,
    ],
```

登录限流
----

[](#登录限流)

采用自带 `Illuminate\Foundation\Auth\ThrottlesLogins` 组件处理

基于 `username` 和 `ip` 地址进行判断

如果需要清除帐号限制登录的话

不优雅且有效的办法 `php artisan cache:clear`

`rsa` 加密
--------

[](#rsa-加密)

```
openssl genrsa -out rsa_2048_private.pem 2048
openssl rsa -pubout -in rsa_2048_private.pem -out rsa_2048_public.pem
```

运行后会 生成 `2048` 位 `rsa_2048_private.pem` `私钥` 与 `rsa_2048_public.pem` `公钥` 文件

将两文件内容粘贴至指定位置即可

如

```
'form_encryption' => [
    // 是否开启登录rsa加密
    'enable'      => true,
    // 私钥
    'private_key' => '-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAwfXZb34rPqCLJW80Iq1UURoWmIvZM9iRGQDHMh5Ae6kieKUn
T4Lp2lupPagDkPGY+/aR4Ewi6w/4bRkaqW/DmkbTMqN47K8tHhYq+UySjz84plrO
BU/GvkC15r0t7pG5bedZ8iq1X0KGwjvwIMqj8yK99m+NFGbIp+Bfr0blCEjbDh0C
9HEdjq82eketlwJ2UABqJItU60Dn+Yfc8dEP4HptrC3NLm5qFCxDb7TKLaIdQ6Pb
IgTArcQJjs9Ld0wfEbLb/xtn78+ZnpINKV3hReXb8twT6oJMfew9fgJ8XS0n/R57
VK8Z6uZLPSrhuFRwDI8zkE/iqTGfWjagKDZsdwIDAQABAoIBAQCBEPHBiTmJkRdG
r7sHoENNPIjwtY6xO1lCRAxJQ2wxXZj8oxmHhVvL29bAmn7VAo+Eis0DbmaF+Lid
EGl3elG05ZBAUBt1lBP3w1SRU+zquW0e9anGSxG7JCBnDFf2Oq4jfiGSTe0nGIPH
2E6v42g5sFKsHArLGqJHY70IS6q4WWmEyP8FWZjXy7p67aAgzIxso5vDJ2OoJSFp
vukN1fkZKGD6d8p8MKCZnDKWlKIZ/sE5oFsv/cW05S7Oit0pvPxv6jAztWigysem
Qnxc10dxgA89wCNoXmwvw30VGHfEhzHe2kKb5FiMhtXgpUxSPGhvIJls2VBK5uOn
6bC0AZ9RAoGBAO4Z5TcdWxFg5sx8arUrhMIGJR97jfwAYgKWyvNB0WZQJ/QbgL+x
rf9utYsq+ikW/9iWKGONfh4XuR67H3aBV91wcMb+A1my/Fz7akDevTvEiE4XrU/l
cXA5mvjPyOr3er0FIJ9fpk5sJanXPZLsrjplpC3LBN8mXeYeTjhbRlQ7AoGBANCK
fg1Whlr475QWxpZBdNJBPStSCIT7ZYauqVA5WAnvLRexJT7eHsUO11SieBqfIoB1
KnoUL4je4wNpuD1gZ1jD131ynUu1lDMuIEfOBEksjja+SwqlsAirBkz6RS+X+b0U
uz9HwHWk3ZF4LSuHrf1S/c3RrMH/ieWAoN4QSnD1AoGAZY1F5ivvG4po5e5q1Lqq
9NYKH1NjS4geRVxrUzVPSoQFhmf0kc4GmFtvstuxtrTIimgA8fT3RX54xlKpKLIh
96BteXH9m9RrLn1M5D4cF9HLEQOoN9t0dpkbL+PvncfP4a6+KztwgyI9LiNPb8ri
xKV1UNK2UTbb9boXQpIrfOECgYAnV7loMsauKwCn45QbjMXJVN2BaryIuhTxT8pJ
hEgDt8e+DIGGVslfS+l74hreit8rdO9KkLxXChWx8yP7EFDvAiOJWzIpslv/O9iD
M27Dj1BVK5lkrNWFDR7nLuAWlolbDqo0ygiZKT1T0GRVLge5Hwsa5U++WcNeNOIk
gtZIcQKBgH7h/5td24CTkJtTnBN566cZHVbWBAGkqG4l+/pUlVJ7wM65vuxB1auc
BJsgcNJzJf+KqMUvVICa8S4aT9hRRd6jteVMRocm+NmL7JRPgPsT+gabKIEaQ22n
Kf6/wL9ZiX+ZRAunCkoIiRjUj0U5qRhMgTthzP4GQYOOzVYYH05j
-----END RSA PRIVATE KEY-----',
    // 公钥
    'public_key'  => '-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwfXZb34rPqCLJW80Iq1U
URoWmIvZM9iRGQDHMh5Ae6kieKUnT4Lp2lupPagDkPGY+/aR4Ewi6w/4bRkaqW/D
mkbTMqN47K8tHhYq+UySjz84plrOBU/GvkC15r0t7pG5bedZ8iq1X0KGwjvwIMqj
8yK99m+NFGbIp+Bfr0blCEjbDh0C9HEdjq82eketlwJ2UABqJItU60Dn+Yfc8dEP
4HptrC3NLm5qFCxDb7TKLaIdQ6PbIgTArcQJjs9Ld0wfEbLb/xtn78+ZnpINKV3h
ReXb8twT6oJMfew9fgJ8XS0n/R57VK8Z6uZLPSrhuFRwDI8zkE/iqTGfWjagKDZs
dwIDAQAB
-----END PUBLIC KEY-----',
],
```

todo:
=====

[](#todo)

- `rsa` 优雅的支持 `文件` `.env` 等配置
- 支持 `i18n`
- 防重放攻击

参考
==

[](#参考)

-

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~210 days

Total

2

Last Release

1139d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/13518196?v=4)[puz\_zle](/maintainers/puzzle9)[@puzzle9](https://github.com/puzzle9)

---

Top Contributors

[![puzzle9](https://avatars.githubusercontent.com/u/13518196?v=4)](https://github.com/puzzle9 "puzzle9 (5 commits)")

---

Tags

extensionlaravel-adminsecurity-signin

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/puzzle9-laravel-admin-extension-security-signin/health.svg)

```
[![Health](https://phpackages.com/badges/puzzle9-laravel-admin-extension-security-signin/health.svg)](https://phpackages.com/packages/puzzle9-laravel-admin-extension-security-signin)
```

###  Alternatives

[laravel-admin-ext/grid-lightbox

Turn your grid into a lightbox &amp; gallery

58180.9k2](/packages/laravel-admin-ext-grid-lightbox)[laravel-admin-ext/wang-editor

wangEditor extension for laravel-admin

6283.4k](/packages/laravel-admin-ext-wang-editor)[james.xue/login-captcha

laravel-admin 登录验证码

3725.4k](/packages/jamesxue-login-captcha)[manzhouya/auth-attempts

Add captcha and login attempts for laravel-admin

142.1k](/packages/manzhouya-auth-attempts)[iamtong/laravel-admin-login-check-safe

登录添加验证码，后台用户锁定，错误次数过多锁定，密码强制修改，添加密码修改记录，登录日志

102.5k](/packages/iamtong-laravel-admin-login-check-safe)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
