sycommon-python-lib 0.2.1a32__tar.gz → 0.2.1a34__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/PKG-INFO +1 -1
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/pyproject.toml +1 -1
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/auth/ldap_service.py +50 -14
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon_python_lib.egg-info/PKG-INFO +1 -1
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/README.md +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/setup.cfg +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/command/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/command/cli.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/command/core/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/command/core/console.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/command/core/models.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/command/core/project.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/command/core/utils.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/command/templates/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/command/templates/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/command/templates/base/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/command/templates/web/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/agent_manager.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/chat_events.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/deep_agent.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/multi_agent_team.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/sandbox/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/sandbox/file_ops.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/sandbox/http_sandbox_backend.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/sandbox/sandbox_pool.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/sandbox/sandbox_recovery.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/sandbox/session.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/auth/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/Config.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/DatabaseConfig.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/ElasticsearchConfig.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/EmbeddingConfig.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/LLMConfig.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/LangfuseConfig.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/MQConfig.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/RedisConfig.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/RerankerConfig.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/SentryConfig.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/database/async_base_db_service.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/database/async_database_service.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/database/base_db_service.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/database/database_service.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/database/elasticsearch_service.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/database/redis_service.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/database/token_usage_db_service.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/health/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/health/health_check.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/health/metrics.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/health/ping.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/heartbeat_process/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/heartbeat_process/heartbeat_config.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/heartbeat_process/heartbeat_process_manager.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/heartbeat_process/heartbeat_process_worker.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/embedding.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/get_llm.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/llm_logger.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/llm_tokens.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/llm_with_token_tracking.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/native_with_fallback_runnable.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/output_fixing_runnable.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/struct_token.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/sy_langfuse.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/token_usage_es_service.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/token_usage_mysql_service.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/usage_token.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/logging/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/logging/async_sql_logger.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/logging/kafka_log.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/logging/logger_levels.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/logging/logger_wrapper.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/logging/process_logger.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/logging/sql_logger.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/background_execution.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/context.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/cors.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/docs.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/exception.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/middleware.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/monitor_memory.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/mq.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/sandbox.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/timeout.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/traceid.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/models/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/models/base_http.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/models/log.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/models/mqlistener_config.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/models/mqmsg_model.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/models/mqsend_config.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/models/sandbox.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/models/sso_user.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/models/token_usage.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/models/token_usage_mysql.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/notice/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/notice/uvicorn_monitor.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/rabbitmq/process_pool_consumer.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/rabbitmq/rabbitmq_client.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/rabbitmq/rabbitmq_service_client_manager.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/rabbitmq/rabbitmq_service_connection_monitor.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/rabbitmq/rabbitmq_service_consumer_manager.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/rabbitmq/rabbitmq_service_core.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/rabbitmq/rabbitmq_service_producer_manager.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/sentry/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/sentry/sy_sentry.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/services.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/sse/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/sse/event.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/sse/sse.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/synacos/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/synacos/example.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/synacos/example2.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/synacos/feign.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/synacos/feign_client.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/synacos/nacos_client_base.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/synacos/nacos_config_manager.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/synacos/nacos_heartbeat_manager.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/synacos/nacos_service.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/synacos/nacos_service_discovery.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/synacos/nacos_service_registration.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/synacos/param.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tests/deep_agent_server.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tests/test_deep_agent.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tests/test_email.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tests/test_mq.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tools/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tools/async_utils.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tools/docs.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tools/env.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tools/merge_headers.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tools/snowflake.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tools/syemail.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tools/timing.py +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon_python_lib.egg-info/SOURCES.txt +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon_python_lib.egg-info/dependency_links.txt +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon_python_lib.egg-info/entry_points.txt +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon_python_lib.egg-info/requires.txt +0 -0
- {sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon_python_lib.egg-info/top_level.txt +0 -0
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/auth/ldap_service.py
RENAMED
|
@@ -129,13 +129,19 @@ class LDAPAuthService:
|
|
|
129
129
|
last_error = None
|
|
130
130
|
for url in self.config.urls:
|
|
131
131
|
try:
|
|
132
|
-
#
|
|
133
|
-
|
|
132
|
+
# 创建连接(移除末尾的斜杠,设置连接超时)
|
|
133
|
+
clean_url = url.rstrip("/")
|
|
134
|
+
server = ldap3.Server(
|
|
135
|
+
clean_url,
|
|
136
|
+
get_info=ldap3.ALL,
|
|
137
|
+
connect_timeout=5, # 连接超时 5 秒
|
|
138
|
+
)
|
|
134
139
|
conn = ldap3.Connection(
|
|
135
140
|
server,
|
|
136
141
|
user=user_dn,
|
|
137
142
|
password=password,
|
|
138
143
|
auto_bind=True,
|
|
144
|
+
receive_timeout=10, # 接收超时 10 秒
|
|
139
145
|
)
|
|
140
146
|
|
|
141
147
|
# 认证成功,获取用户信息
|
|
@@ -168,9 +174,26 @@ class LDAPAuthService:
|
|
|
168
174
|
Returns:
|
|
169
175
|
str: 用户 DN
|
|
170
176
|
"""
|
|
171
|
-
#
|
|
172
|
-
# 格式:
|
|
173
|
-
|
|
177
|
+
# 对于 Active Directory,使用 UPN 格式更可靠
|
|
178
|
+
# 格式: username@domain
|
|
179
|
+
if self.config.default_dc:
|
|
180
|
+
domain = self.config.default_dc
|
|
181
|
+
return f"{username}@{domain}"
|
|
182
|
+
# 回退到 DN 格式
|
|
183
|
+
return f"cn={username},{self.config.base}"
|
|
184
|
+
|
|
185
|
+
def _build_bind_dn(self, username: str) -> str:
|
|
186
|
+
"""构建绑定用户 DN(用于管理员绑定)
|
|
187
|
+
|
|
188
|
+
Args:
|
|
189
|
+
username: 绑定用户名
|
|
190
|
+
|
|
191
|
+
Returns:
|
|
192
|
+
str: 绑定用户 DN
|
|
193
|
+
"""
|
|
194
|
+
# 对于 Active Directory,使用 UPN 格式
|
|
195
|
+
if self.config.default_dc:
|
|
196
|
+
return f"{username}@{self.config.default_dc}"
|
|
174
197
|
return f"cn={username},{self.config.base}"
|
|
175
198
|
|
|
176
199
|
def _get_user_info(self, conn, username: str) -> LDAPUser:
|
|
@@ -185,12 +208,10 @@ class LDAPAuthService:
|
|
|
185
208
|
"""
|
|
186
209
|
import ldap3
|
|
187
210
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
# 搜索用户属性
|
|
211
|
+
# 在 base DN 中搜索用户
|
|
191
212
|
conn.search(
|
|
192
|
-
search_base=
|
|
193
|
-
search_filter="(
|
|
213
|
+
search_base=self.config.base,
|
|
214
|
+
search_filter=f"(sAMAccountName={username})",
|
|
194
215
|
attributes=[
|
|
195
216
|
"cn",
|
|
196
217
|
"mail",
|
|
@@ -199,6 +220,7 @@ class LDAPAuthService:
|
|
|
199
220
|
"telephoneNumber",
|
|
200
221
|
"title",
|
|
201
222
|
"distinguishedName",
|
|
223
|
+
"sAMAccountName",
|
|
202
224
|
],
|
|
203
225
|
)
|
|
204
226
|
|
|
@@ -242,14 +264,21 @@ class LDAPAuthService:
|
|
|
242
264
|
import ldap3
|
|
243
265
|
from ldap3.core.exceptions import LDAPException
|
|
244
266
|
|
|
267
|
+
bind_user = self._build_bind_dn(self.config.username)
|
|
268
|
+
|
|
245
269
|
for url in self.config.urls:
|
|
246
270
|
try:
|
|
247
|
-
server = ldap3.Server(
|
|
271
|
+
server = ldap3.Server(
|
|
272
|
+
url.rstrip("/"),
|
|
273
|
+
get_info=ldap3.ALL,
|
|
274
|
+
connect_timeout=5,
|
|
275
|
+
)
|
|
248
276
|
conn = ldap3.Connection(
|
|
249
277
|
server,
|
|
250
|
-
user=
|
|
278
|
+
user=bind_user,
|
|
251
279
|
password=self.config.password,
|
|
252
280
|
auto_bind=True,
|
|
281
|
+
receive_timeout=10,
|
|
253
282
|
)
|
|
254
283
|
|
|
255
284
|
# 搜索用户
|
|
@@ -285,14 +314,21 @@ class LDAPAuthService:
|
|
|
285
314
|
"""同步验证连接"""
|
|
286
315
|
import ldap3
|
|
287
316
|
|
|
317
|
+
bind_user = self._build_bind_dn(self.config.username)
|
|
318
|
+
|
|
288
319
|
for url in self.config.urls:
|
|
289
320
|
try:
|
|
290
|
-
server = ldap3.Server(
|
|
321
|
+
server = ldap3.Server(
|
|
322
|
+
url.rstrip("/"),
|
|
323
|
+
get_info=ldap3.ALL,
|
|
324
|
+
connect_timeout=5,
|
|
325
|
+
)
|
|
291
326
|
conn = ldap3.Connection(
|
|
292
327
|
server,
|
|
293
|
-
user=
|
|
328
|
+
user=bind_user,
|
|
294
329
|
password=self.config.password,
|
|
295
330
|
auto_bind=True,
|
|
331
|
+
receive_timeout=10,
|
|
296
332
|
)
|
|
297
333
|
conn.unbind()
|
|
298
334
|
SYLogger.info(f"[LDAP] 连接 {url} 验证成功")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/command/templates/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/command/templates/base/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/command/templates/web/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/agent_manager.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/chat_events.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/deep_agent.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/multi_agent_team.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/sandbox/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/sandbox/file_ops.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/agent/sandbox/session.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/DatabaseConfig.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/EmbeddingConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/LLMConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/LangfuseConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/MQConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/RedisConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/RerankerConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/SentryConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/config/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/database/redis_service.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/health/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/health/health_check.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/health/metrics.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/llm_logger.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/llm_tokens.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/struct_token.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/sy_langfuse.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/llm/usage_token.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/logging/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/logging/kafka_log.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/logging/logger_levels.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/logging/logger_wrapper.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/logging/process_logger.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/logging/sql_logger.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/context.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/cors.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/docs.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/exception.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/middleware.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/sandbox.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/timeout.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/middleware/traceid.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/models/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/models/base_http.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/models/mqmsg_model.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/models/mqsend_config.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/models/sandbox.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/models/sso_user.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/models/token_usage.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/notice/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/notice/uvicorn_monitor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/rabbitmq/rabbitmq_pool.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/sentry/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/sentry/sy_sentry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/synacos/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/synacos/example.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/synacos/example2.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/synacos/feign_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/synacos/nacos_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tests/test_deep_agent.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tests/test_email.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tools/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tools/async_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tools/merge_headers.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a32 → sycommon_python_lib-0.2.1a34}/src/sycommon/tools/snowflake.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|