+1 امتیاز
قبل در برنامه نویسی توسط (15 امتیاز)
ویرایش شده قبل توسط

برای اتصال به پایگاه داده در sql server با استفاده از hibernate  کانفیگ زیر رو انجام دادم. ولی در اتصال به پایگاه داده با مشکل مواجه شدم. برای اتصال از windows authenication استفاده کردم. 

  

   <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
                <prop key="cache.use_query_cache">true</prop>
                <prop key="cache.use_second_level_cache">true</prop>
                <prop key="hibernate.connection.driver_class">
                    com.microsoft.sqlserver.jdbc.SQLServerDriver
                </prop>
                <prop key="hibernate.connection.url">jdbc:microsoft:sqlserver://localhost;databaseName=BOOKSTORE;integratedSecurity=true</prop>
                <prop key="hibernate.connection.username">username
                </prop>
                <prop key="hibernate.connection.password">password
                </prop>
                <prop key="show_sql">true</prop>
                <prop key="hibernate.c3p0.min_size">5</prop>
                <prop key="hibernate.c3p0.max_size">20</prop>
                <prop key="hibernate.c3p0.timeout">300</prop>
                <prop key="hibernate.c3p0.max_statements">50</prop>
                <prop key="hibernate.c3p0.idle_test_period">3000</prop>
            </props>
   </property>

1 پاسخ

0 امتیاز
قبل توسط (2.2هزار امتیاز)

sql server دو جور authentication mode داره. یعنی کاربرها از 2 طریق می تونن خودشون را بشتاسونن. یکی از طریق همان username و pass لاگین به ویندوز NT که بهش می گن


Windows Authentication

و دیگری یه user , pass اختصاصی هست که تو sql server درست میشه. به این میگن


SQL Server Authentication

درمورد اول معلومه که یوزر باید پشت کامپیوتر کنترلر دامین نشسته باشه یا از یه ایستگاه کاری بهش لاگین کرده باشه، فکر کنم حتی یوزر هایی که Dial-Up به دامین لاگین می کنن هم می تونند از Windows Authentication استفاده کنن.
برای مورد دوم کافیه user,pass خودتون رو به سرور پاس کنین. در مواقعی که از راه دور یا از سیستم غیر ویندوز NT (مثل 98، مثل یه وب هاست یونیکس) به سرور وصل میشین مجبورین از SQL Server Authentication استفاده کنین. و خوب اگه سرور شما روی 98 نصبه که اصلا Windows Authentication ممکن نیست.

Windows Authentication را بهش می گن trusted connection چون sql server به windows اعتماد می کنه و هر کسی را که ویندوز بگه credential هاش درست هست را اجازه لاگین به اس کو ال سرور هم بهش می ده.

برای هر sql server نصب شده می تونین بگین که از Windows Authentication استفاده کنه یا هر دو(mixed mode). راهی نیست که Windows Authentication را از کار بندازین.

برای Windows Authentication، هر کاربر که روی سیستم NT لاگین می کنه، اگه admin باشه خود به خود نقش sysadmin روی sql server پیدا می کنه. اما برای بقیه کاربرهای domain باید یه لاگین براشون تو sql server بسازین تا بتونن لاگین کنن.

مزیت Windows Authentication، ایمنی بالا و سادگی مدیریت مجوز های کاربرها است.

اگه نمی خواهید از SQL Server Authentication استفاده کنین، حتما موقع نصب یه password براش تعیین کنین و بعدا SQL Server Authentication را از کار بندازین.

منبع

×××

روش  Windows Authentication 
در مدل فوق ، اين امکان برای يک کاربر فراهم خواهد شد که با استفاده از يک Account  ويندوز به بانک اطلاعاتی مرتبط گردد . خصلت امنيتی شبکه برای کاربر در زمان ورود به شبکه ايجاد می گردد . زمانيکه يک کاربر شبکه سعی در ارتباط با بانک اطلاعاتی سرويس دهنده SQL می نمايد ،عمليات تائيد وی آغاز و در ادامه بر اساس سياست های امنيتی ورود به شبکه که قبلا" برای وی تعريف و تنظيم شده است ، امکان دستيابی وی به بانک اطلاعاتی محقق و يا با درخواست وی بدلايل امنيتی مخالفت خواهد شد . در چنين حالتی ضرورتی به يک Login مجدد ( ورود نام و رمز عبور توسط کاربر) وجود نخواهد داشت . استفاده از روش فوق ، بمنظور ارتباط با بانک اطلاعاتی دارای مزايای زير است :

معتبرسازی ايمن بهمراه رمزنگاری رمزهای عبور
Auditing
تاريخ سررسيد رمز عبور
تعريف حداقل طول رمزعبور
غير فعال شدن ( قفل نمودن ) رمز عبور پس از انجام چندين تلاش نافرجام جهت ورود به شبکه


نکته : با توجه به اينکه کاربران و گروههای ويندوز ، صرفا" توسط ويندوز نگهداری و پشتيبانی می گردند ، سرويس دهنده SQL اطلاعات مربوط به يک گروه کاربران را در زمان اتصال به بانک اطلاعاتی می خواند . در صورتيکه تغييراتی در رابطه با مجوزهای دستيابی برای يک کاربر متصل شده ايجاد گردد ، تغييرات ايجاد شده  در زمان آتی  که کاربر به سرويس دهنده SQL مرتبط می گردد ؛ در نظر گرفته  شده و متناسب با تغييرات ايجاد شده با کاربر برخورد خواهد شد .

منبع

سوالات مشابه

0 امتیاز
1 پاسخ 442 بازدید
0 امتیاز
0 پاسخ 1.5هزار بازدید
+1 امتیاز
1 پاسخ 2.3هزار بازدید
+1 امتیاز
1 پاسخ 1.8هزار بازدید
+1 امتیاز
1 پاسخ 2.9هزار بازدید
0 امتیاز
1 پاسخ 2.4هزار بازدید
0 امتیاز
1 پاسخ 1.4هزار بازدید
+1 امتیاز
0 پاسخ 409 بازدید
+1 امتیاز
1 پاسخ 378 بازدید
...