MongoDB:mongodb在项目开发时的安全验证、分页查询操作
MongoDB:mongodb在项目开发时的安全验证、分页查询操作。 对于数据库而言,在项目应用中都需要安全验证,不然,就会报错,呵呵~~ 现在贴出来我在项目中是怎么做的。 数据源bean: package com.ishowchina.user.dao;import com.mongodb.BasicDBObject;impo
MongoDB:mongodb在项目开发时的安全验证、分页查询操作。
对于数据库而言,在项目应用中都需要安全验证,不然,就会报错,呵呵~~
现在贴出来我在项目中是怎么做的。
数据源bean:
package com.ishowchina.user.dao; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.MongoClient; public class DataSource { private String ip;//数据库连接信息要从配置文件中获取 参考appconfig.properties文件 private Integer port; protected String dbName; protected Boolean auth; protected String userName; protected String passWord; //打开连接 此处在获取数据库信息(ip、账户、密码等)后,打开数据库。 public MongoClient OpenConnection() throws Exception{ MongoClient mongoClient = new MongoClient( ip,port); return mongoClient; } //获取数据集 此处为数据库安全验证 public DBCollection getCollection(MongoClient client,String tableName){ if(client==null){ return null; }else { DB db = client.getDB(getDbName());//获取数据库 boolean r=true;//验证用户及密码 if(auth!=null && auth.equals(true)){ r = db.authenticate(userName, passWord.toCharArray());//密码验证 } if(r){ DBCollection coll = db.getCollection(tableName);//获取数据集 return coll; }else { return null; } } } //释放连接 public void ReleaseConnection(MongoClient mongoClient){ if(mongoClient!=null){ mongoClient.close(); } } //删除操作,注意要传入参数 public void deleteObject(DBObject o,DBCollection col){ col.remove(o); } //分页查询 分页查询mongodb已经为我们集成了,只需调用api就行 public DBCursor queryPage(DBObject query,DBObject sort,int start,int limit,DBCollection col){ //.sort('account',1).limit(10),int count = cursor.count() BasicDBObject exp=new BasicDBObject("_id",0); return col.find(query,exp).sort(sort).skip(start).limit(limit); } public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public Integer getPort() { return port; } public void setPort(Integer port) { this.port = port; } public String getDbName() { return dbName; } public Boolean getAuth() { return auth; } public void setAuth(Boolean auth) { this.auth = auth; } public void setDbName(String dbName) { this.dbName = dbName; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassWord() { return passWord; } public void setPassWord(String passWord) { this.passWord = passWord; } }
appconfig.properties配置文件的内容,配置数据库源信息
mongo.ip=160.0.0.243 mongo.port=27017 mongo.auth=true mongo.user=ucenter mongo.pwd=user2show mongo.dbName=ucenter
spring-servlet.xml
<!-- 导入配置文件 --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:appconfig.properties</value> </list> </property> </bean>
这样做还不够,虽然知道了去那找数据库配置信息,但是,怎么获取数据库配置信息呢,还是在spring-servlet.xml里。
<!-- 数据源 --> <bean id="dataSource" class="com.ishowchina.user.dao.DataSource"><!-- 此处是和我们的数据库bean是对应关系 --> <property name="ip" value="${mongo.ip}"/> <!-- 此处是去appconfig.properties里找关键字对应的数据库信息 --> <property name="port" value="${mongo.port}"/> <property name="dbName" value="${mongo.dbName}"/> <property name="auth" value="${mongo.auth}"/> <property name="userName" value="${mongo.user}"/> <property name="passWord" value="${mongo.pwd}"/> </bean>
举个例子:
public DBObject getUserInfo(DBObject o) throws Exception{ MongoClient mongoClient = dataSource.OpenConnection(); DBCollection coll = dataSource.getCollection(mongoClient,tableName);//获取数据集userinfo //mongoClient.setWriteConcern(WriteConcern.JOURNALED);//Setting Write Concern BasicDBObject exp=new BasicDBObject("_id",0);//排除ID字段 DBObject myDoc = coll.findOne(o,exp); dataSource.ReleaseConnection(mongoClient) ;//释放连接 return myDoc; }

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 배열을 페이지화하는 가장 일반적인 두 가지 방법은 array_slice() 함수를 사용하는 것입니다. 건너뛸 요소 수를 계산한 다음 지정된 요소 범위를 추출합니다. 내장 반복자 사용: Iterator 인터페이스를 구현하고 rewind(), key(), current(), next() 및 valid() 메서드를 사용하여 지정된 범위 내의 요소를 탐색합니다.

Java 프레임워크 디자인은 보안 요구 사항과 비즈니스 요구 사항의 균형을 유지하여 보안을 가능하게 합니다. 즉, 주요 비즈니스 요구 사항을 식별하고 관련 보안 요구 사항의 우선 순위를 지정합니다. 유연한 보안 전략을 개발하고, 계층적으로 위협에 대응하고, 정기적으로 조정하세요. 아키텍처 유연성을 고려하고 비즈니스 발전을 지원하며 보안 기능을 추상화합니다. 효율성과 가용성의 우선순위를 정하고 보안 조치를 최적화하며 가시성을 향상시킵니다.

PHP 보안 모범 사례를 구현하는 방법 PHP는 동적 및 대화형 웹 사이트를 만드는 데 사용되는 가장 인기 있는 백엔드 웹 프로그래밍 언어 중 하나입니다. 그러나 PHP 코드는 다양한 보안 취약점에 취약할 수 있습니다. 이러한 위협으로부터 웹 애플리케이션을 보호하려면 보안 모범 사례를 구현하는 것이 중요합니다. 입력 유효성 검사 입력 유효성 검사는 사용자 입력의 유효성을 검사하고 SQL 삽입과 같은 악의적인 입력을 방지하는 중요한 첫 번째 단계입니다. PHP는 filter_var() 및 preg_match()와 같은 다양한 입력 유효성 검사 함수를 제공합니다. 예: $username=filter_var($_POST['사용자 이름'],FILTER_SANIT

Struts2 애플리케이션을 보호하려면 다음 보안 구성을 사용할 수 있습니다. 사용하지 않는 기능 비활성화 콘텐츠 유형 확인 활성화 입력 유효성 검사 보안 토큰 활성화 CSRF 공격 방지 RBAC를 사용하여 역할 기반 액세스 제한

C++에서 기계 학습 알고리즘을 구현할 때 데이터 개인 정보 보호, 모델 변조, 입력 유효성 검사를 포함한 보안 고려 사항이 중요합니다. 모범 사례에는 보안 라이브러리 채택, 권한 최소화, 샌드박스 사용 및 지속적인 모니터링이 포함됩니다. 실제 사례에서는 Botan 라이브러리를 사용하여 CNN 모델을 암호화 및 해독하여 안전한 교육 및 예측을 보장하는 방법을 보여줍니다.

SHIB 코인은 더 이상 투자자들에게 낯설지 않습니다. 시장이 발전함에 따라 SHIB의 현재 시가총액은 12위를 기록하며 수많은 투자를 유치하고 있는 것을 볼 수 있습니다. .투자자는 투자에 참여합니다. 과거 시장에서는 빈번한 거래 및 지갑 보안 사고가 있었고 많은 투자자들이 SHIB 코인을 보관하는 데 어떤 지갑이 더 안전한지 궁금해했습니다. 시장 데이터 분석에 따르면 상대적으로 안전한 지갑은 주로 OKXWeb3Wallet, imToken 및 MetaMask 지갑이며, 다음으로 편집자가 이에 대해 자세히 설명하겠습니다. SHIB 코인은 어느 지갑이 더 안전한가요? 현재 SHIB 코인은 OKXWe에 상장되어 있습니다.

C++ 기술은 다음과 같은 방식으로 소프트웨어 안전성과 신뢰성을 보장합니다. 강력한 유형 시스템: 유형 변환 오류를 방지합니다. 메모리 관리: 메모리 누수 및 손상을 방지하기 위한 세밀한 제어입니다. 예외 처리: 오류를 정상적으로 처리하고 견고성을 유지합니다. RAII(자원 획득은 초기화): 자원을 자동으로 관리하고 안정성을 향상시킵니다. 템플릿: 일반 프로그래밍, 중복 코드 및 오류 감소.

PHP 마이크로프레임워크에서 Slim과 Phalcon의 보안 비교에서 Phalcon에는 CSRF 및 XSS 보호, 양식 유효성 검사 등과 같은 보안 기능이 내장되어 있는 반면 Slim에는 기본 보안 기능이 부족하고 수동 구현이 필요합니다. 보안 조치. 보안이 중요한 애플리케이션의 경우 Phalcon은 보다 포괄적인 보호 기능을 제공하며 더 나은 선택입니다.
