我在用
并引用此链接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) 我正在使用 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)