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

婚车租赁网站怎样做网址导航网站建站

婚车租赁网站怎样做,网址导航网站建站,制作动画的软件app,微信网站建设流程jgitJGit中的身份验证与本地Git大致相同。 支持SSH和HTTP#xff08;S#xff09;等常用协议及其身份验证方法。 本文总结了如何使用JGit身份验证API安全地访问远程Git存储库。 尽管本文中的示例使用CloneCommand#xff0c;但是可以将所描述的技术应用于连接到远程存储库的… jgit JGit中的身份验证与本地Git大致相同。 支持SSH和HTTPS等常用协议及其身份验证方法。 本文总结了如何使用JGit身份验证API安全地访问远程Git存储库。 尽管本文中的示例使用CloneCommand但是可以将所描述的技术应用于连接到远程存储库的所有类例如FetchCommandPushCommandLsRemoteCommand等。所有这些命令都有一个公共基类-TransportCommand-提供了所讨论的方法这里。 HTTPS– https://example.com/repo.git 通过HTTP和HTTPS进行身份验证非常简单。 当命令请求身份验证凭据时将使用CredentialsProvider的实现返回身份验证凭据。 可以通过setCredentialsProvider指定用于特定命令的CredentialsProvider。 例如以下代码通过HTTPS克隆存储库并使用用户名和密码进行身份验证。 CloneCommand cloneCommand Git.cloneRepository(); cloneCommand.setURI( https://example.com/repo.git ); cloneCommand.setCredentialsProvider( new UsernamePasswordCredentialsProvider( user, password ) ); UsernamePasswordCredentialsProvider是JGit随附的CredentialsProvider的实现并使用给定的用户名和密码进行身份验证。 另外JGit3.5版和更高版本也可以从用户的.netrc文件中读取凭据。 NetRCCredentialsProvider使用文件中的第一个机器条目进行身份验证。 尽管不建议通过不安全的连接发送凭据但是所描述的方法也适用于纯HTTP例如http://example.com/repo.git。 带有公钥的SSH – ssh//userexample.com/repo.git JGit委托创建和销毁与抽象SshSessionFactory的SSH连接。 要将公共密钥身份验证用于SSH连接必须为执行的命令指定这样的会话工厂。 使用setTransportConfigCallback可以指定TransportConfigCallback接口以拦截连接过程。 建立连接之前将调用唯一的方法configure。 传递给它一个传输类型的参数该参数将用于在本地和远程存储库之间复制对象。 对于每个协议都有一个不同的Transport子类来处理该协议的各个详细信息。 如下所示该回调可用于在使用前立即配置Transport实例 SshSessionFactory sshSessionFactory new JschConfigSessionFactory() {Overrideprotected void configure( Host host, Session session ) {// do nothing} }; CloneCommand cloneCommand Git.cloneRepository(); cloneCommand.setURI( ssh://userexample.com/repo.git ); cloneCommand.setTransportConfigCallback( new TransportConfigCallback() {Overridepublic void configure( Transport transport ) {SshTransport sshTransport ( SshTransport )transport;sshTransport.setSshSessionFactory( sshSessionFactory );} } ); JGit提供了一个抽象的JSchConfigSessionFactory它使用JSch建立SSH连接并要求覆盖它的configure。 因为在最简单的情况下没有任何要配置的内容所以上面的示例只是覆盖了使代码编译的方法。 JSchConfigSessionFactory大多数与本机Git使用的SSH实现OpenSSH兼容。 它从用户的.ssh目录中的默认主机身份id_rsa和id_dsa的默认位置加载已知主机和私钥。 如果您的私钥文件的名称不同或位于其他位置则建议覆盖createDefaultJSch。 调用基本方法后可以像这样添加自定义私钥 Override protected JSch createDefaultJSch( FS fs ) throws JSchException {JSch defaultJSch super.createDefaultJSch( fs );defaultJSch.addIdentity( /path/to/private_key )return defaultJSch; } 在此示例中添加了来自自定义文件位置的私钥。 如果您查看JSch JavaDoc 将会发现更多重载的addIdentity方法。 为了完整起见我应该提到还有一个全球会话工厂。 可以通过SshSessionFactory.get / setInstance获取和更改它并且如果没有为命令配置特定的shSessionFactory它将用作默认值。 但是我建议不要使用它。 除了使编写独立的测试变得更加困难之外您的控件之外可能还有一些代码会更改全局会话工厂。 SSH和密码– ssh//userexample.com/repo.git 与通过公用密钥使用SSH一样必须指定SshSessionFactory以使用受密码保护的SSH连接。 但是这次会话工厂的configure方法是有目的的。 SshSessionFactory sshSessionFactory new JschConfigSessionFactory() {Overrideprotected void configure( Host host, Session session ) {session.setPassword( password );} } );CloneCommand cloneCommand Git.cloneRepository(); cloneCommand.setURI( ssh://userexample.com/repo.git ); cloneCommand.setTransportConfigCallback( new TransportConfigCallback() {Overridepublic void configure( Transport transport ) {SshTransport sshTransport ( SshTransport )transport;sshTransport.setSshSessionFactory( sshSessionFactory );} } ); JSch会话表示与SSH服务器的连接在第4行中设置了当前会话的密码。 其余代码与用于通过SSH与公共密钥身份验证进行连接的代码相同。 使用哪种身份验证方法 此处讨论的某些身份验证方法也可以组合使用。 例如在尝试通过带有公共密钥的SSH连接到远程存储库时设置凭据提供者不会有任何危害。 但是您通常希望事先知道给定的存储库URL将使用哪种传输。 为了确定这一点可以使用TransportProtocol的canHandle方法。 如果协议可以处理给定的URL则返回true否则返回false。 可以从Transport.getTransportProtocols获得所有已注册TransportProtocol的列表。 一旦知道了协议就可以选择适当的身份验证方法。 验证 GitHub GitHub支持多种协议和身份验证方法但肯定不是所有可能的组合。 例如一个常见的错误是尝试将SSH与密码验证一起使用。 但是不支持此组合-仅支持带公钥的SSH。 GitHub提供的协议的比较列出了支持的内容和不支持的内容。 总结一下有 Plain Git例如git//github.com/user/repo.git传输未加密服务器未通过验证。 HTTPS例如https://github.com/user/repo.git实际上可在任何地方使用。 使用密码身份验证进行推送但允许匿名获取和克隆。 SSH例如ssh//gitgithub.comuser / repo.git使用公钥身份验证也用于获取和克隆。 结束JGit身份验证 虽然我发现身份验证功能在JGit API上散布了很多但它们可以完成任务。 此处给出的食谱有望为您提供必要的基础知识以验证JGit中的连接并且隐藏API的复杂性可以视为练习干净代码的练习 如果您有困难或问题请随时发表评论或向友好而乐于助人的JGit社区寻求帮助。 翻译自: https://www.javacodegeeks.com/2014/12/jgit-authentication-explained.htmljgit
http://www.ihoyoo.com/news/57394.html

相关文章:

  • 专业设计素材网站wap是什么意思的缩写
  • 网站在哪里建立下列哪一项不属于电子商务网站建设
  • 响应式网站的研究意义英文网站优化
  • 怎么做原创动漫视频网站泉州专业建站品牌
  • 专业做二手房的网站有哪些江苏建设工程信息网官网入口
  • 网站建设和管理维护平台网站的建设需求
  • 网站开发 无形资产jsp网站开发工具
  • 专教做美食的网站数据库跟网站
  • 怎么建国外网站建立网站站点方法
  • asp.net 旅游网站开发做网站设计都做些什么
  • 开封做网站池州做网站公司
  • 企业通过门户网站做营销推广wordpress 主题后台
  • python网站开发 django教做世界美食的网站
  • 网站管理员的联系方式wordpress关联微信
  • 怎么评价一个网站设计做的好坏腾讯会议收费
  • 东莞市建设局网站_网站建设网站
  • 南通wap网站建设把网站提交给百度
  • 绿色风格 网站做交易网站
  • 公司做网站,要准备哪些素材口碑营销为什么越来越重要
  • php做视频网站有哪些软件下载wordpress 汉化失败
  • 网站制作公司信科网络无锡抖音代运营公司
  • 做涉黄的视频网站用什么服务器东莞制作网站公司哪家好
  • 建设的网站别人登录密码wordpress html5 win8
  • html企业网站系统做微商童装网站
  • 微网站开发需要多少费用网站内容建设整改工作
  • 网站助手 伪静态抖音代运营美发
  • 设计公司网站价格百度联盟做网站赚钱吗
  • 西安旅游服务网站建设济宁建设局网站
  • 顺义重庆网站建设装饰
  • 网站推广的软文做游戏课程网站