小编chi*_*iku的帖子

spring-data-mongodb 给出 mongodb 身份验证异常

我在用

  • MongoDB 3.2.0
  • Mongo-Java-Driver 3.2.0
  • spring-data-mongodb 1.9.2

并引用此链接accessing-mongodb-with-authentication,并通过以管理员身份登录到 admin 数据库在 myDb 中创建用户。

    db.createUser({user: "admin",pwd: "password",roles: [ { role: "readWrite", db: "myDb" } ]});
     db.auth('admin','password');
      db.grantRolesToUser("admin",[{ role: "dbAdmin", db: "myDb" }])
Run Code Online (Sandbox Code Playgroud)

为了设置 mongodb 身份验证,链接示例有效。spring-data 配置是:

<bean class="org.springframework.data.mongodb.core.MongoTemplate"
    id="mongoTemplate">
    <constructor-arg name="mongo" ref="mongo" />
    <constructor-arg name="databaseName" value="myDb" />
             <constructor-arg name="userCredentials" ref="mongoCredentials"/>
</bean>

<bean class="org.springframework.data.mongodb.core.MongoFactoryBean"
    id="mongo">
    <property name="host" value="localhost" />
    <property name="port" value="27017" />
</bean>
 
 <bean id="mongoCredentials" class="org.springframework.data.authentication.UserCredentials">
            <constructor-arg name="username" value="admin" />
            <constructor-arg name="password" value="password"/>
     
</bean>
   
Run Code Online (Sandbox Code Playgroud)

在我的java代码中:

    public static void main(String[]s)
   { …
Run Code Online (Sandbox Code Playgroud)

mongodb mongodb-java spring-data-mongodb

4
推荐指数
1
解决办法
1万
查看次数

PDFBOX 安全性不起作用

我正在使用 PDFBOX - 1.8.13,似乎 PDF Security 没有按预期工作。如果设置了所有者密码而未设置用户密码,如果我不提供所有者密码,PDFBOX 允许解密我的 PDF 文件。请帮助我做错的地方。

加密我的pdf文件的代码:

PDDocument document = PDDocument.load(new File("/home/dummy/dummy.pdf"),null);

AccessPermission perms = new AccessPermission();
perms.setCanAssembleDocument(false);;
perms.setCanExtractContent(false);
perms.setCanModify(false);
perms.setCanModifyAnnotations(false);
perms.setCanExtractForAccessibility(false);
perms.setCanFillInForm(false);

perms.setCanPrint(false);
perms.setReadOnly();
perms.setCanPrintDegraded(false);
perms.setCanExtractForAccessibility(false);

document.setAllSecurityToBeRemoved(false);

StandardProtectionPolicy policy = new StandardProtectionPolicy("AdminPasswordTest", "", perms);
policy.setPermissions(perms);

document.protect(policy);

document.save("/home/dummy/dummy_secured.pdf"); 

document.close();
Run Code Online (Sandbox Code Playgroud)

解密我的 PDF 的代码

PDDocument doc = PDDocument.load("/home/dummy/dummy_secured.pdf", true);

if (doc.isEncrypted()) { //remove the security before adding protections
    doc.decrypt(""); //This should not be DECRYPTED because owner password is not provided
    doc.setAllSecurityToBeRemoved(true); //This user is not provided this permissions …
Run Code Online (Sandbox Code Playgroud)

pdf security pdf-generation pdfbox

0
推荐指数
1
解决办法
903
查看次数