21个版本
0.6.0 | 2019年2月7日 |
---|---|
0.5.5 | 2018年7月4日 |
0.5.4 | 2018年3月21日 |
0.5.3 | 2017年12月4日 |
0.0.5-pre | 2015年3月29日 |
#425 在 认证
每月下载 54次
在 5 个crate中使用 (直接使用2个)
8KB
[已移动到 pam
]
pam-auth
已弃用,并更名为 pam
。请使用新的crate进行任何未来的项目,并考虑如果仍然使用此crate,则进行切换。
pam-auth
Linux可插拔认证模块(PAM)的Rust安全绑定。目前仅支持基本的用户名/密码认证。
警告
通过env
模块的环境支持可能已损坏,不应在当前状态下使用!
支持的Rust版本
该库仅持续针对Rust稳定版、beta版和nightly版构建,但由于它没有使用很多新语言特性,它可能也可以在较旧的版本上编译。如果您在较旧的版本上遇到构建问题,并且可以应用一个小修复来使构建成功,请考虑提交一个pull request。
关于稳定性的说明
此crate遵循 语义版本控制。因此,所有低于 1.0.0
的版本应被视为开发版本。这意味着API可能会随时更改。
用法
- 将
pam-auth
添加到您的 Cargo.toml
[dependencies]
pam-auth = "0.5.0"
- 使用
Authenticator
结构体进行认证并打开会话
extern crate pam_auth;
pub fn main() {
let service = "<yourapp>";
let user = "<user>";
let password = "<pass>";
let mut auth = pam_auth::Authenticator::new(service).unwrap();
auth.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
函数(在 pam-sys 中?) - 代码清理
许可证
许可协议为以下之一
- Apache许可证,版本2.0(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确说明,否则根据Apache-2.0许可证定义,您有意提交用于包含在作品中的任何贡献,都将按上述方式双重许可,不附加任何额外条款或条件。