96SEO 2026-02-19 12:31 18
用户登录衡石系统时系统需要对输入的用户名和密码进行验证保证系统的安全。

衡石提供
HENGSHI、LDAP、CAS、SAML2、OAUTH2、钉钉、企业微信、CTR、云之家、JWT
用户通过认证方式登录到系统的同时还会将用户的一些信息通过配置项同步到系统中
内置的用户认证系统通过平台内部的用户信息进行身份验证。
即使设置为其他认证方式HENGSHI
认证服务器存储用户信息希望通过同样的认证方法登录衡石系统时可以选择
通用配置包括用户名映射、显示名映射、邮箱映射、手机号映射、角色映射、组映射、组织架构映射、企业
认证服务器存储用户信息希望通过同样的认证方法登录衡石系统时可以选择
通用配置包括显示名映射、邮箱映射、手机号映射、角色映射、组映射、组织架构映射、企业
SAML2认证服务器存储用户信息希望通过同样的认证方法登录衡石系统时可以选择
idpMetadataUrl。
私钥。
证书。
entityID。
Reload
用于同步用户属性等信息的通用配置有用户名映射、显示名映射、邮箱映射、手机号映射、角色映射、组映射、组织架构映射、企业
会话有效期同步、会话有效期映射。
通用配置字段的说明和使用请参考通用配置章节。
Oauth2认证服务器存储用户信息希望通过同样的认证方法登录衡石系统时可以选择
http://{host}:{port}/apps/1/dashboard/1
http://logout.com?redirect_urihttp://hengshi.comactiveAuthoauth2tenantIdxxxxredirect_uri
用于同步用户属性等信息的通用配置有用户名映射、显示名映射、邮箱映射、手机号映射、角色映射、组映射、组织架构映射、企业
会话有效期同步、会话有效期映射。
通用配置字段的说明和使用请参考通用配置章节。
配置项是否必填说明AppKey是钉钉微应用的基本信息可参考钉钉配置微应用章节获取AppSecret是钉钉微应用的基本信息可参考钉钉配置微应用章节获取CorpId否如果管理员需要在钉钉应用管理后台免登则需要配置该信息。
CorpIdSSOsecret
钉钉配置微应用章节获取。
SSOsecret否如果管理员需要在钉钉应用管理后台免登则需要配置该信息。
CorpIdSSOsecret
是微应用免登扫码是通过扫描二维码登录同步频率否对组织架构同步进行配置单位为分钟0为不同步。
如果需要组织架构同步则必须要配置
钉钉用于同步用户属性等信息的通用配置有用户名映射、显示名映射、邮箱映射、手机号映射。
配置项格式说明应用首页地址http://{host}:{port}/?activeAuthdingtalkdtLoginTypeauthCodecorpId{corpId}dtLoginTypeauthCodePC
端首页地址http://{host}:{port}/?activeAuthdingtalkdtLoginTypeauthCodecorpId{corpId}dtLoginTypeauthCode管理后台地址http://{host}:{port}/?activeAuthdingtalkdtLoginTypecodecorpId{corpId}dtLoginTypecode请注意
http://{host}:{port}/?activeAuthdingtalkdtLoginTypeauthCodecorpId{corpId}tenantId{tenantId}tenantId
ip可以通过https://www.ip138.com/查询或者联系网络管理员获得重定向
code通讯录部门信息读权限qyapi_get_department_list成员信息读权限qyapi_get_member通讯录个人信息读取权限Contact.User.Read企业员工手机号信息fieldMobile邮箱等个人信息fieldEmail请注意
可根据需要设置应用发布的使用范围只有在范围中的人员才可以看到该应用。
IDAgentIdSecret企业微信的基本信息可参考企业微信配置自建应用章节获取。
登录方式:是配置默认的登录方式即在
企业微信认证用于同步用户属性等信息的通用配置有用户名映射、显示名映射、邮箱映射、手机号映射。
系统企业微信配置页面的同名字段中。
配置应用主页如http://local.hengshi.org:8080?activeAuthwechat-workwcwLoginTypeoauth2tenantCode{tenantCode}。
中的可信域名。
如果需要网页扫码登录功能需要配置企业微信授权登录中的授权回调域。
如果使用金蝶云之家应用并且在云之家做报销审批和报表分析的工作。
可以通过配置云之家认证在云之家上访问对应的报表内容。
成为系统管理员后通过管理中心-应用中心-轻应用管理进入轻应用管理页面。
参数示例http://192.168.3.226:8080/?activeAuthyunzhijiatenantCodetenant1#/publish。
http://{host}:{port}/?activeAuthjwt-paramjwtParam{签名/加密后的
script:登录过程配置用户登录后的默认角色默认情况下用户登录后的角色为数据查看。
请求参数用于同步用户属性等信息的通用配置有用户名映射、显示名映射、邮箱映射、手机号映射、角色映射、组映射、组织架构映射、企业
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhbGljZS1zdWJqZWN0IiwiYWJjIjoiMTIzIiwicm9sZXMiOlsic3lzdGVtIGFkbWluIiwiZGF0YSBhZG1pbiIsImRhdGEgYW5hbHlzdCIsImRhdGEgdmlld2VyIiwiYXBpIGFkbWluIl0sImxvZ2luTmFtZSI6ImFsaWNlIn0.PGA9DNa-B_4e4WS-fVG57tvxYe0dlu0r8O_Lw1vEtAQ
编码之后是eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9第二部分是
payload明文是{sub:alice-subject,abc:123,roles:[system
编码之后是eyJzdWIiOiJhbGljZS1zdWJqZWN0IiwiYWJjIjoiMTIzIiwicm9sZXMiOlsic3lzdGVtIGFkbWluIiwiZGF0YSBhZG1pbiIsImRhdGEgYW5hbHlzdCIsImRhdGEgdmlld2VyIiwiYXBpIGFkbWluIl0sImxvZ2luTmFtZSI6ImFsaWNlIn0第三部分是
得到需要签名的信息是eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhbGljZS1zdWJqZWN0IiwiYWJjIjoiMTIzIiwicm9sZXMiOlsic3lzdGVtIGFkbWluIiwiZGF0YSBhZG1pbiIsImRhdGEgYW5hbHlzdCIsImRhdGEgdmlld2VyIiwiYXBpIGFkbWluIl0sImxvZ2luTmFtZSI6ImFsaWNlIn0经过相应签名算法签名以后在本例中就是
编码得到签名是PGA9DNa-B_4e4WS-fVG57tvxYe0dlu0r8O_Lw1vEtAQ
dependencygroupIdcom.nimbusds/groupIdartifactIdnimbus-jose-jwt/artifactIdversion5.4/version/dependency
com.nimbusds.jose.EncryptionMethod;
com.nimbusds.jose.JOSEException;
com.nimbusds.jose.JWEAlgorithm;
com.nimbusds.jose.JWSAlgorithm;
com.nimbusds.jose.crypto.MACSigner;
com.nimbusds.jose.crypto.RSAEncrypter;
com.nimbusds.jose.crypto.RSASSASigner;
com.nimbusds.jwt.SignedJWT;import
java.security.KeyPairGenerator;
java.security.NoSuchAlgorithmException;
java.security.interfaces.RSAPrivateKey;
java.security.interfaces.RSAPublicKey;
签名hmacSign();System.out.println(------------------------------------------);//RS256
签名rsaSign();System.out.println(------------------------------------------);//A128CBC-HS256
加密signAndEncrypt();}//RS256public
KeyPairGenerator.getInstance(RSA);KeyPair
RSASSASigner(privateKey);SignedJWT
JWSHeader.Builder(JWSAlgorithm.RS256).type(JOSEObjectType.JWT).build(),
claimsSet);signedJWT.sign(signer);String
http://{host}:{port}?activeAuthjwt-paramjwtParam
token;System.out.println(url);//验签密钥
Base64.getEncoder().encodeToString(publicKey.getEncoded()));}//HS256public
4b117a14-c652-410a-83b2-9839c16e7ae1;//hs256
JWSHeader.Builder(JWSAlgorithm.HS256).type(JOSEObjectType.JWT).build(),
MACSigner(key);signedJWT.sign(signer);String
http://{host}:{port}?activeAuthjwt-paramjwtParam
token;System.out.println(url);//验签密钥
tokeneyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhbGljZS1zdWJqZWN0IiwiYWJjIjoiMTIzIiwicm9sZXMiOlsic3lzdGVtIGFkbWluIiwiZGF0YSBhZG1pbiIsImRhdGEgYW5hbHlzdCIsImRhdGEgdmlld2VyIiwiYXBpIGFkbWluIl0sImxvZ2luTmFtZSI6ImFsaWNlIn0.PGA9DNa-B_4e4WS-fVG57tvxYe0dlu0r8O_Lw1vEtAQ示例请求
urlhttp://{host}:{port}?activeAuthjwt-paramjwtParameyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhbGljZS1zdWJqZWN0IiwiYWJjIjoiMTIzIiwicm9sZXMiOlsic3lzdGVtIGFkbWluIiwiZGF0YSBhZG1pbiIsImRhdGEgYW5hbHlzdCIsImRhdGEgdmlld2VyIiwiYXBpIGFkbWluIl0sImxvZ2luTmFtZSI6ImFsaWNlIn0.PGA9DNa-B_4e4WS-fVG57tvxYe0dlu0r8O_Lw1vEtAQ*/}private
JWTClaimsSet.Builder().subject(loginName
要求不能为空如果没有配置登录名映射会默认取该值作为登录名。
要求唯一可以与登录名相同//.issuer(https://c2id.com)
中还可以配置邮箱手机角色用户组等映射详情请参考文档*/.claim(loginName,
claim都会作为用户属性保存//.expirationTime(new
KeyPairGenerator.getInstance(RSA);KeyPair
signkp.getPrivate();RSAPublicKey
Base64.getEncoder().encodeToString(signPublicKey.getEncoded()));JWTClaimsSet
JWSHeader.Builder(JWSAlgorithm.RS256).type(JOSEObjectType.JWT).build(),jwtClaimsSet);signedJWT.sign(new
RSASSASigner(signPrivateKey));KeyPair
Base64.getEncoder().encodeToString(encryptPrivateKey.getEncoded()));RSAPublicKey
encryptKP.getPublic();JWEObject
JWEHeader.Builder(JWEAlgorithm.RSA_OAEP_256,
EncryptionMethod.A128CBC_HS256).type(JOSEObjectType.JWT).contentType(JWT).build(),new
Payload(signedJWT));jweObject.encrypt(new
RSAEncrypter(encryptPublicKey));String
http://{host}:{port}?activeAuthjwt-paramjwtParam
token;System.out.println(url);}
在企业自建应用列表中点击进入刚刚创建的应用应用信息完善编辑综合信息。
可根据需要填写管理后台主页http://{host}:{port}?activeAuthlarklarkLoginTypelarkAdminBackend该地址是从飞书管理后台免登录进入系统时使用的。
具体地址可以根据需要修改activeAuthlarkLoginType
配置应用功能网页填写桌面端主页和移动端主页具体地址可以根据需要修改activeAuthlarkLoginType
桌面端主页http://{host}:{port}?activeAuthlarklarkLoginTypedesktop
移动端主页http://{host}:{port}?activeAuthlarklarkLoginTypeapp
http://{host}:{port}/lark/callback
权限管理开通权限:以应用身份读取通讯录(contact:contact:readonly_as_app)获取用户邮箱信息(contact:user.email:readonly)获取用户
ID(contact:user.employee_id:readonly)获取用户手机号(contact:user.phone:readonly)等权限(详情参考表格)
权限名称code说明获取用户可用的应用admin:app.user_usable:readonly获取用户组织架构信息contact:user.department:readonly获取用户邮箱信息contact:user.email:readonly获取用户
IDcontact:user.employee_id:readonly获取用户组信息contact:group:readonly通过手机号或邮箱获取用户
IDcontact:user.id:readonly获取用户手机号contact:user.phone:readonly获取用户性别contact:user.gender:readonly查询用户职级contact:user.job_level:readonly查询用户的企业邮箱mail:user_mailbox:readonly查询个人邮箱信息corehr:person.email:read获取通讯录基本信息contact:contact.base:readonly以应用身份读取通讯录contact:contact:readonly_as_app获取与发送单聊、群组消息im:message使用飞书推送消息需要以应用的身份发消息im:message:send_as_bot使用飞书推送消息需要给一个或多个部门的成员批量发消息im:message:send_multi_depts使用飞书推送消息需要给多个用户批量发消息im:message:send_multi_users使用飞书推送消息需要获取与上传图片或文件资源im:resource使用飞书推送消息需要
contact:contact:readonly_as_app,contact:contact.base:readonly,admin:app.user_usable:readonly,contact:user.department:readonly,contact:user.email:readonly,contact:user.employee_id:readonly,contact:group:readonly,contact:user.id:readonly,contact:user.phone:readonly,contact:user.gender:readonly,contact:user.job_level:readonly,mail:user_mailbox:readonly,corehr:person.email:read,im:message,im:message:send_as_bot,im:message:send_multi_depts,im:message:send_multi_users,im:resource
版本管理与发布创建版本根据需要及飞书要求填写应用版本号更新说明选择可用范围。
申请线上发布。
https://bc0nlvsmah.feishu.cn/admin/appCenter/audit
https://bc0nlvsmah.feishu.cn/admin/appCenter/manage
https://bc0nlvsmah.feishu.cn/admin/appCenter/manage
如果在凭证与基础信息的综合信息中填写了管理后台主页地址则可以在飞书管理后台免登进入应用。
等支持登录名、邮箱、手机等的映射配置在有这些配置项的认证方式下这些配置具有同样的含义。
用户名映射客户系统中的某字段将做为系统中用户的登录名要求全系统唯一目的是每次登录可以自动关联到该用户。
邮箱映射客户系统中的某字段将做为系统中用户的邮箱要求全系统唯一目的是每次登录可以自动关联到该用户。
手机号映射客户系统中的某字段将做为系统中用户的手机号要求全系统唯一。
角色映射客户系统中的某字段将做为系统中该用户所拥有的角色可以传递角色
或者角色标识如不传递则默认是数据查看者。
角色标识和角色名称对应如下
组映射客户系统中的某字段将做为系统中该用户所属的组可以传递用户组
企业名称映射:租户方式登录时该字段可用于映射系统中的企业名称。
san,name:张三,given_name:张三,family_name:张,roles:[data
//用户组名称group2],email:zhangsanhengshi.com
系统支持多重认证方式在不同的场景下可以选择不同的认证方式。
无论选择那种认证方式都可以通过
用户名密码登录登录地址为http://{host}:{port}/login
http://{host}:{port}/?activeAuthoauth2#/
http://{host}:{port}/?activeAuthoauth2tenantCode{tenantCode}#/
系统并且只有一种认证方式的场景下只需配置相应的认证方式并选择该认证方式即可。
http://{host}:{port}/?reloadUsertrue#/reloadUsertrue
http://{host}:{port}/?activeAuthoauth2reloadUsertrue#/用户看图时实现免登。
的嵌入地址http://{host}:{port}/?activeAuthwechat-workwcwLoginTypeoauth2#/
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback