3个版本 (破坏性更新)
0.8.0 | 2023年11月1日 |
---|---|
0.7.0 | 2019年2月7日 |
0.0.2 |
|
0.0.1 | 2015年3月6日 |
#74 in 认证
956 每月下载量
用于 7 个crate(6直接使用)
46KB
773 行
pam - Linux可插拔认证模块(PAM)的安全Rust API
注意:当前仅支持开箱即用的基本用户名/密码认证。
警告
通过env
模块的环境支持可能已损坏,不应在当前状态下使用!
用法
- 将
pam
添加到您的Cargo.toml
[dependencies]
pam = "0.7.0"
- 使用
Authenticator
结构体进行认证并打开会话
extern crate pam;
pub fn main() {
let service = "<yourapp>";
let user = "<user>";
let password = "<pass>";
let mut auth = pam::Authenticator::with_password(service).unwrap();
auth.handler_mut().set_credentials(user, password);
if auth.authenticate().is_ok() && auth.open_session().is_ok() {
println!("Successfully opened a session!");
}
else {
println!("Authentication failed =/");
}
}
待办事项
- 实现基本用户/密码认证
- 添加
Authenticator
结构体 - 添加(更多)文档
- 验证当前
conv
不泄露内存 - 允许传递自定义的
conv
函数 - 代码清理
支持的Rust版本
该库仅持续构建于Rust稳定版、beta版和nightly版,但由于它没有使用很多新的语言特性,它可能也能在旧版本上编译。如果您在旧版本上构建时遇到问题,并且可以应用一个小修复以使构建成功,请考虑提交一个pull请求。
稳定性说明
此crate遵循语义版本控制。因此,所有低于1.0.0
的版本应被视为开发版本。这意味着API可能会随时更改。
许可
根据您选择以下之一许可
- Apache License,版本2.0,(LICENSE-APACHE 或 http://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选。
贡献
除非您明确说明,否则您有意提交给作品以包含在内的任何贡献,根据Apache-2.0许可定义,应按上述方式双许可,不得附加任何其他条款或条件。
依赖
~1.3–3.5MB
~74K SLoC