当前位置: 首页 > news >正文

做线上交互的网站wordpress-demo

做线上交互的网站,wordpress-demo,推广网站平台,黑牛网站建设接前一篇文章#xff1a;PAM从入门到精通#xff08;十七#xff09; 本文参考#xff1a; 《The Linux-PAM Application Developers Guide》 PAM 的应用开发和内部实现源码分析 先再来重温一下PAM系统架构#xff1a; 更加形象的形式#xff1a; 六、整体流程示例 2.…接前一篇文章PAM从入门到精通十七 本文参考 《The Linux-PAM Application Developers Guide》 PAM 的应用开发和内部实现源码分析 先再来重温一下PAM系统架构 更加形象的形式 六、整体流程示例 2. 更为完整的例程及解析 上一回讲解了更为详细复杂例程的第二部分本文继续讲解其余部分。再来贴一下完整代码 /* 使用PAM所必需的两个头文件*/ #include security/pam_appl.h #include security/pam_misc.hstatic struct pam_conv conv {misc_conv,NULL }void main(int argc, char *argv[], char **renvp) {pam_handle_t *pamh NULL;int status;/* 初始化并提供一个回调函数 */if ((pam_start(login, user_name, conv, pamh)) ! PAM_SUCCESS)exit(1);/* 设置一些关于认证用户信息的参数 */pam_set_item(pamh, PAM_TTY, ttyn);pam_set_item(pamh, PAM_RHOST, remote_host);while (!authenticated retry MAX_RETRIES){status pam_authenticate(pamh, 0);/* 认证检查用户输入的密码是否正确 */}/* 认证失败则应用程序退出*/if (status ! PAM_SUCCESS){……exit(1);}/* 通过了密码认证之后再调用帐号管理API检查用户帐号是否已经过期 */if ((status pam_acct_mgmt(pamh, 0)) ! PAM_SUCCESS){if (status PAM_AUTHTOK_EXPIRED){status pam_chauthtok(pamh, 0); /* 过期则要求用户更改密码 */if (status ! PAM_SUCCESS)exit(1);}}/* 通过帐户管理检查之后则打开会话 */if (status pam_open_session(pamh, 0) ! PAM_SUCCESS)exit(status);……/* 建立认证服务的用户证书*/status pam_setcred(pamh, PAM_ESTABLISH_CRED);if (status ! PAM_SUCCESS)exit(status);……pam_end(pamh, PAM_SUCCESS); /* PAM事务的结束 */……}3pam_authenticate函数 代码片段 while (!authenticated retry MAX_RETRIES){status pam_authenticate(pamh, 0);/* 认证检查用户输入的密码是否正确 */}/* 认证失败则应用程序退出*/if (status ! PAM_SUCCESS){……exit(1);}作用 对用户进行身份验证。pam_authenticate函数用于对用户进行身份验证。用户被要求提供一个基于身份验证服务的身份验证令牌通常这是一个密码但也可能是指纹。 PAM服务模块可以请求用户通过对话机制输入其用户名参见pam_start()和pam_conv。经过身份验证的用户名称将出现在PAM的PAM_USER项中。可以通过调用pam_get_item()来恢复此项目。 参数详解 pam_handle_t *pamh pamh参数是通过先前调用pam_start()获得的身份验证句柄。 此处传给pamh的实参为main函数中定义的pam_handle_t *pamh的地址pamh。 int flags flags参数是以下值中的零或更多的二进制或 PAM_SILENT 不发出任何消息。 PAM_DISALLOW_NULL_AUTHTOK 如果用户的身份验证令牌为空PAM模块服务应返回PAM_NEW_AUTHTOK_REQD。 此处传给flags的实参为0。 4pam_acct_mgmt函数 代码片段 /* 通过了密码认证之后再调用帐号管理API检查用户帐号是否已经过期 */if ((status pam_acct_mgmt(pamh, 0)) ! PAM_SUCCESS){if (status PAM_AUTHTOK_EXPIRED){status pam_chauthtok(pamh, 0); /* 过期则要求用户更改密码 */if (status ! PAM_SUCCESS)exit(1);}} 作用 账户验证管理。pam_acct_mgmt函数用于确定用户的帐户是否有效。它检查身份验证令牌和帐户过期与否并验证访问限制。其通常在用户经过身份验证后调用。 参数说详解 pam_handle_t *pamh pamh参数是通过先前调用pam_start()获得的身份验证句柄。 此处传给pamh的实参为main函数中定义的pam_handle_t *pamh的地址pamh。 int flags flags参数是以下值中的零或更多的二进制或 PAM_SILENT 不发出任何消息。 PAM_DISALLOW_NULL_AUTHTOK 如果用户的身份验证令牌为空PAM模块服务应返回PAM_NEW_AUTHTOK_REQD。 此处传给flags的实参为0。 5pam_chauthtok函数 代码片段 /* 通过了密码认证之后再调用帐号管理API检查用户帐号是否已经过期 */if ((status pam_acct_mgmt(pamh, 0)) ! PAM_SUCCESS){if (status PAM_AUTHTOK_EXPIRED){status pam_chauthtok(pamh, 0); /* 过期则要求用户更改密码 */if (status ! PAM_SUCCESS)exit(1);}} 作用 更新身份验证令牌。pam_chauthtok函数用于更改给定用户的身份验证令牌。 参数详解 pam_handle_t *pamh pamh参数是通过先前调用pam_start()获得的身份验证句柄。 此处传给pamh的实参为main函数中定义的pam_handle_t *pamh的地址pamh。 int flags flags参数是以下值中的零或更多的二进制或 PAM_SILENT 不发出任何消息。 PAM_CHANGE_EXPIRED_AUTHTOK 此参数向模块指示用户的身份验证令牌密码只有在过期时才应更改。如果未传递此参数则应用程序要求更改所有身份验证令牌。 此处传给flags的实参为0。 更多讲解请看下回。
http://www.hkea.cn/news/14359774/

相关文章:

  • 英国小子做房产网站嵌入式软件开发简历
  • 制作自己的平台网站河南建设监理协会新网站
  • php怎么创建网站企业信息查询系统入口
  • 帮人做图挣外快的网站jsp网站开发技巧
  • 创建一个新的公司网站好推建站
  • 珠宝类企业网站(手机端)wordpress中文网址转换
  • 东莞建设网站公司公司做网站要多少钱
  • dota2海涛做的网站wordpress 个人简介
  • 网站seo步骤移动端显卡天梯图2021
  • 网站维护费用包括哪些校园加盟网站建设
  • 网站开发研究现状外包网站建设公司
  • 网站怎么制作软件wordpress来源转载
  • 网站开发流程人物wordpress古文主题
  • 快站建站画册设计需要注意的事项
  • 网站开发哪些公司wordpress响应 延时
  • html5做网站链接范例wordpress文章显示插件
  • 建设工程+质量+协会网站苏州做网站的专业公司
  • 江西建设工程质量管理网站旅游 网站建设
  • 瓯北网站制作公司怎么做下载类的网站吗
  • 垦利县企业型网站建设济南专业做网站公司哪家好
  • 如何建立和设计公司网站作文班服定制网站
  • php网站开发主要内容seo是什么品牌
  • 网站建设宗旨怎么写做网站的人怎么联系
  • 江西省建设网站中国企业黄页企业名录大全
  • 视频课程网站建设网站内容图片怎么做
  • 为企业开发网站郑州专业做网站企业
  • 用源码做自己的网站怎么创建微信小程序店铺
  • 网站推广任务 ip点击wordpress导入大于2m
  • 企业网站设计方案书速冻蔬菜做哪个国际网站好
  • 青海网站设计简单的静态网页模板